アカウント名:
パスワード:
COBOL爺:「儂の出番かのぅ」
十進BASIC: 「お前の出番はない」# MSX-BASICの浮動小数点はBCD(二進化十進数)だったので意味が分からなかったAC
Visual Studio 2017方面なら、Decimal型というモノが有った。
.NET関連なら、PowerShellで簡単に確認出来るのでやってみた。
まず、#3517959 [srad.jp]の通り、同じになるか確認でdouble型でやってみる。PS> 100,1000,10000|%{1..$_|%{[double]$x=0}{$x+=0.01}{"{0}:{1}"-f$_,$x}}100:11000:9.9999999999998310000:100.000000000014日記と同じ結果。
内部保持可能な17桁を確認するために書式指定すると下記のように。PS> 100,1000,10000|%{1..$_|%{[double]$x=0}{$x+=0.01}{"{0}:{1:G17}"-f$_,$x}}100:1.00000000000000071000:9.999999999999831210000:100.00000000001425
本題のdecimal型PS> 100,1000,10000|%{1..$_|%{[decimal]$x=0}{$x+=0.01}{"{
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
老兵は死なず (スコア:2)
COBOL爺:「儂の出番かのぅ」
Re: (スコア:0)
十進BASIC: 「お前の出番はない」
# MSX-BASICの浮動小数点はBCD(二進化十進数)だったので意味が分からなかったAC
Re:老兵は死なず (スコア:2)
Visual Studio 2017方面なら、Decimal型というモノが有った。
Re: (スコア:0)
.NET関連なら、PowerShellで簡単に確認出来るのでやってみた。
まず、#3517959 [srad.jp]の通り、同じになるか確認でdouble型でやってみる。
PS> 100,1000,10000|%{1..$_|%{[double]$x=0}{$x+=0.01}{"{0}:{1}"-f$_,$x}}
100:1
1000:9.99999999999983
10000:100.000000000014
日記と同じ結果。
内部保持可能な17桁を確認するために書式指定すると下記のように。
PS> 100,1000,10000|%{1..$_|%{[double]$x=0}{$x+=0.01}{"{0}:{1:G17}"-f$_,$x}}
100:1.0000000000000007
1000:9.9999999999998312
10000:100.00000000001425
本題のdecimal型
PS> 100,1000,10000|%{1..$_|%{[decimal]$x=0}{$x+=0.01}{"{