JavaScriptの3つの非標準タイプの数値と2つのライブラリ

JavaScriptには、デフォルトで1つのタイプの数値-数値があります。 もちろん、IntとFloatに分けられますが、少し(たとえば、parseInt関数-parseFloat)で表現されます。

同時に、大きな数(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
      
      





それだけです


ご清聴ありがとうございました。



All Articles