4D-jp 4D Japan Technical Support Team

実数の減算について

2022-06-18

128.1-128.08という数式を4Dで評価すると0.01999999999998という値が返されます。127.1-127.08であれば0.02が返されるのとは対照的です。

プログラミングで小数を扱う場合,実数は近似値を表現したものであることを憶えておきましょう。小学校で習った算数とは違うことをしている,ということです。計算の結果がぴったり割り切れるかどうかは,実数の内部的なデジタル値に左右されます。上述した例では,どちらも「およそ0.02」という近似値が返されているのであり,これを「およそ等しい」と判定するために SET REAL COMPARISON LEVELのような仕組みが存在します。これは計算間違いではなく仕様です。


リンク