2011-02-13 9 views
6

Cuando hago lo siguiente:gran número a cadena en JavaScript

alert((2053716830872415770228778006271971120334843128349550587141047275840274143041).toString()); 

me sale el "2.053716830872415e + 75" notación exponencial. Quiero alertar al número como está. Probé con Fixed(), toPrecision() y toLocaleString() y ellos producen el mismo resultado.

¿Cómo puedo lograr esto? Nota: el número es una variable, por lo que no puedo alertar ("208 ...");

Respuesta

5

Javascript uses 64-bit floating point numbers.
Es imposible almacenar con precisión su valor en un número de Javascript.

En su lugar, debe utilizar una biblioteca de BigInteger.

+0

¿Hay alguna precisión arbitraria JavaScript bibliotecas por ahí? – SuprDewd

+0

Sí, hay. – SLaks

+0

Bien, gracias. También encontré http://github.com/whatgoodisaroad/Big-js. – SuprDewd

Cuestiones relacionadas