0.0299999999999999990000000000000000000000
は
(2) a=0.3 です
と判定されてしまうのに
-0.0000000000000000034694469519536142000000
は
(3) a=0 です
と判定されないのでしょうか?
この辺りの説明が書かれた資料があるなら、教えて下さい。
また hspmath.as に round 関数があるようですが
Excel の round ワークシート関数のような
小数点以下の桁数を指定できる四捨五入があるなら教えて下さい。
(Excel では =ROUND(0.123456,4) とやると 0.1235 が戻ってきます。)
a = 0.0 : mes "" + a if (a==0.0){ mes "(1) a=0 です\n" } a = a + 0.01 a = a + 0.01 a = a + 0.01 : mes "" + strf("%.40f",a) if (a==0.03){ mes "(2) a=0.3 です\n" } a = a - 0.01 a = a - 0.01 a = a - 0.01 : mes "" + strf("%.40f",a) if (a==0.0){ mes "(3) a=0 です\n" } else : if (a<0){ mes "(4) a<0 です\n" }