過去ログ:     キーワード: 条件: 表示:

[2271] 小数を含む計算結果の不具合

投稿日 23/04/05-15:59
投稿者 たけちゃん
参照先

こんにちは、お世話になります。

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

------プログラム------

結果は 2
結果/10+0.1を報告

◆動作環境情報◆
プロデル 1.8.1164
Windows 10 Pro 64ビット
メモリ:8 GB

▲pagetop

[2273] 不具合ではなく丸め誤差です

投稿日 23/04/09-02:38
投稿者 ゆうと
参照先

こんにちは

> 下記のプログラムで正しく計算されないようです。
> 計算結果は「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を報告
-----------

参考にしてください。

▲pagetop

[2274] Re: 不具合ではなく丸め誤差です

投稿日 23/04/10-14:36
投稿者 たけちゃん
参照先

ご返信ありがとうございます。
不具合ではなかったのですね、マニュアルを見逃しておりました。
お手数おかけしすみませんでした。

詳しく教えていただきありがとうございます。

> こんにちは
>
> > 下記のプログラムで正しく計算されないようです。
> > 計算結果は「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を報告
> -----------
>
> 参考にしてください。

▲pagetop
▲ページの先頭へ

- WebForum -