投稿日 2023/04/09(Sun) 02:38:31
投稿者 ゆうと
参照先

こんにちは

> 下記のプログラムで正しく計算されないようです。
> 計算結果は「0.3」となるはずですが、実際には「0.30000000000000004」と表示されます。
> 他にも試しましたが、計算結果が「0.3」になる場合に不具合が起こるようです。

こちらは不具合ではなく、浮動小数点型で起こる丸め誤差による現象です。
https://docs.utopiat.net/rdr/manual/syntax/expr.html#round

詳しい説明はこちらが参考になるかと思います。
https://dobon.net/vb/dotnet/beginner/floatingpointerror.html

0.2+0.1を計算した時に丸め誤差が発生しますので、一度、固定小数型の変数に入れることで正しく計算されます。
-----------
【結果】=2
【A:固定小数】=結果/10
【B:固定小数】=0.1
A+Bを報告
-----------

参考にしてください。


関連一覧ツリー

をクリックするとツリーを一括表示します)

返信フォーム

(この投稿に返信する場合は下記フォームから投稿して下さい)
(1MBまで)
(英数字で8文字以内)

- 投稿修正/削除フォーム -
処理 No パスワード

▲ページの先頭へ

- WebForum -