рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ - рд╕рдВрдЦреНрдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдмреЗрд╢рдХ Int рдФрд░ Float рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, parseInt рдлрд╝рдВрдХреНрд╢рди - parseFloat рдореЗрдВ) рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ (рдЗрдВрдЯ рдФрд░ рдлреНрд▓реЛрдЯ рджреЛрдиреЛрдВ) рдХреЛ рдЫреЛрдЯрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрд╢реЛрдВ рдХреЛ рджрд╢рдорд▓рд╡ рдФрд░ рдЧреЛрд▓ рдореЗрдВ рдШрдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫреЗ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВ рдЬреЛ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирдИ рдХрдХреНрд╖рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
BigInt
рд╕рдВрдЦреНрдпрд╛ (рдЗрдВрдЯ рдФрд░ рдлреНрд▓реЛрдЯ рджреЛрдиреЛрдВ) рдХреЛ 15 рд╡рд░реНрдгреЛрдВ рддрдХ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдВрдЯ рдореЗрдВ, рд╢реЗрд╖ рдЕрдВрдХ рд╢реВрдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
>> 100000000000000000111 100000000000000000000
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ
BigNumber рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
var num = new BigNumber('100000000000000000001'); num.add(1);
рдмрд╛рдХреА
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреГрд╖реНрда рдкрд░ , рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп (+ - * /) рд╣реИрдВ, рд╕рдВрдЦреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд░реЗрдВ, рдФрд░ рдПрдХ рд╣реА рд╕реБрдкрд░рдирдВрдмрд░ред
BigFloat
рдПрдХ рдлреНрд▓реЛрдЯ рднреА рд╣реИ, 15 рд╡рд░реНрдг рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдЦреНрдпрд╛ рдмрд╕ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджреА рдЬрд╛рддреА рд╣реИред
>> 3.14159265358979323 3.141592653589793
рдЖрдк рдПрдХ рд╣реА рд╕реНрд╡рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var pi = new BigNumber('3.14159265358979323'); pi.add('0.00000000000000003');
рдЕрдВрд╢
рддреАрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рдЕрдВрд╢ рд╣реИред рд╕рдВрдЦреНрдпрд╛ рдЧреЛрд▓ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рдкрд░рд┐рдгрд╛рдо рдЦрд░рд╛рдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
>> 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) );
рдмрд╕ рдЗрддрдирд╛ рд╣реА
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред