>> a = 12.5 * 9.45
a =
1.181250000000000e+02
>> round(a * 100) /100
ans =
1.181200000000000e+02
四捨五入的值應該是118.13,而不是118.12。MatLab - 9.45表示和回合
如果你在MATLAB命令行中鍵入9.45,它不能代表:
>> 9.45
ans =
9.449999999999999
如果我設置了數字格式做空,最終的結果是一樣的。
>> a = 12.5 * 9.45
a =
118.1250
>> round(a * 100)/100
ans =
118.1200
有人可以解釋嗎?任何解決方法?
浮點數的結果......你永遠不會得到與他們 – 2012-07-09 20:00:22
100%準確的結果,這是一個浮點限制,是在一個完全正常的痛屁股。 – Wug 2012-07-09 20:01:53