鍍金池/ 問答/Python  GO/ go 浮點數(shù)問題

go 浮點數(shù)問題

fmt.Println(0.1 + 0.2) // 0.3
fmt.Println(float64(0.1) + float64(0.2)) // 0.30000000000000004

這兩種浮點計算的區(qū)別是什么?

回答
編輯回答
怪痞

精度不一樣,一個是32位,一個是64位,浮點數(shù)在計算機(jī)里本來就是近似表達(dá)的,所以出現(xiàn)偏差是正常的,有可能是32位出誤差,有可能64位出誤差,取決于你用的那個數(shù)。 實際上,你這個例子和go無關(guān),所有的語言都會得到得到類似的結(jié)果。

2018年4月2日 23:03