JavascriptのNumberと自作Decimalの精度テスト

2014/07/16
murakya.net

Number
Decimal

Test1

111,222,333,444 + 555,666,777,888 =

Number
Decimal

小さい数字なら結果は同じ

Test2

111,222,333,444,555,666,777,888,999 + 1 =

Number
Decimal

これなら俺でも計算できるぞ、しっかりしろNumber!!

Test3

111,222,333,444,555,666,777,888,999 * 111,222,333,444,555,666,777,888,999 =

Number
Decimal

Decimalがあっているかはわからないけど、Numberが間違っていることは確かだ

Test4

111,222,333,444,555,666,777,888,999 ^ 20 =

Number
Decimal

Number、あきらめるなよ。。。

結果

当然ですが、正の整数ではDecimalの方が高精度で計算できました。
少数や負の数は扱えませんけどね。