Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Large numbers to string in JavaScript

When I do the following:

alert((2053716830872415770228778006271971120334843128349550587141047275840274143041).toString());

I get the "2.053716830872415e+75" exponential notation. I want to alert the number as is. I tried toFixed(), toPrecision() and toLocaleString() and they output the same thing.

How can I accomplish this? Note: the number is a variable, so I cannot alert("208..");

like image 636
SuprDewd Avatar asked Feb 13 '11 15:02

SuprDewd


1 Answers

Javascript uses 64-bit floating point numbers.
It is impossible to precisely store your value in a Javascript number.

Instead, you should use a BigInteger library.

  • http://www.leemon.com/crypto/BigInt.html
  • http://www-cs-students.stanford.edu/~tjw/jsbn/
  • https://github.com/jtobey/javascript-bignum
like image 113
SLaks Avatar answered Sep 19 '22 11:09

SLaks