2011-05-31 75 views

回答

1

如果你需要絕對正確的話,你可以用switch to using a decimal而不是double。十進制將基數爲10的指數存儲起來。

無法完全使用double或float來表示.35。

+0

是小數做的工作,但我仍然不明白什麼是基地10的意思是進入.9999999 – user96547 2011-05-31 15:58:44

6

這是因爲浮點值在機器中用二進制指數表示,而10不是2的偶數冪。因此,一些基10分數在轉換時變成重複分數。

爲了說明問題,只需確定如何以二進制表示35/100即可。

+0

好吧,那麼這是否意味着沒有辦法解析正確完成? – user96547 2011-05-31 15:49:10

+1

@ user96547解析正確完成,重要的是如何顯示它。特別是如果你認爲.9重複等於1. – 2011-05-31 15:50:53

+0

嗯,這不是解析是*不正確*,它只是,你不能完全代表二進制格式的1833.35。它正在盡其所能:-) – Pointy 2011-05-31 15:51:02