>> a = 12.5 * 9.45
a =
1.181250000000000e+02
>> round(a * 100) /100
ans =
1.181200000000000e+02
丸められた値は、118.12 ではなく 118.13 である必要があります。
MatLab コマンド ラインで 9.45 と入力すると、次のように表すことができません。
>> 9.45
ans =
9.449999999999999
数値形式を short に設定すると、最終結果は同じになります。
>> a = 12.5 * 9.45
a =
118.1250
>> round(a * 100) / 100
ans =
118.1200
誰かがそれを説明できますか?回避策はありますか?