2013-11-13 7 views
2

Я пытаюсь преобразовать «9999999999999099» в число/float в javascript. Проблема заключается в том, что возвращаются как parseFloat (X), так и Number (X) 9999999999999100.Javascript parseFloat изменяет номер

Это не тот же номер. Кто-нибудь знает, почему это происходит и как его избежать? Спасибо заранее.

+1

Не более, чем 9007199254740992, вы не можете точно представлять все числа с математикой с плавающей запятой. (Это может быть неправильное число.) – Pointy

ответ

3

Оба числа имеют одно и то же представление с плавающей запятой, так как числа с плавающей запятой только с точностью до определенного уровня.

Если эти цифры предназначены для расчета, зачем вам их конвертировать с точностью более 1 в четыре раза? Если эти значения не предназначены для вычисления, оставьте их в виде строк.

Смежные вопросы