同時に、大きな数(IntとFloatの両方)は短縮され、小数部は10進数に削減され、丸められます。 両方とも常に良いとは限らないため、異常な数の新しいクラスを提供するライブラリが登場しました。
BigInt
数値(IntとFloatの両方)は15文字に短縮されます。 Intでは、残りの数字はゼロとして保存されます。 例:
>> 100000000000000000111 100000000000000000000
ライブラリはBigNumberと呼ばれ、数値は行の形式で転送する必要があります。 私たちは使用します:
var num = new BigNumber('100000000000000000001'); num.add(1); // 100000000000000000002
ライブラリページの残りの部分には、ほとんどの必要な関数(+-* /)があり、数字、文字列、および同じBigNumberを受け入れます。
ビッグフロート
フロートもあり、15文字もありますが、余分な数字は単純に捨てられます。
>> 3.14159265358979323 3.141592653589793
同じライブラリを同じ形式で使用できます。
var pi = new BigNumber('3.14159265358979323'); pi.add('0.00000000000000003'); // 3.14159265358979326
分数
3番目のタイプは分数です。 数値は丸められます。 このため、結果が悪くなる可能性があります。
>> 1/3 0.3333333333333333 >> 1/3 + 2/3 1 >> 0.3333333333333333 + 0.6666666666666666 1
そして、 Fraction.jsライブラリがあります。
var a = new Fraction(1,3); a.add( new Fraction(2,3) ); // 1
それだけです
ご清聴ありがとうございました。