Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   615028451090612225 = 615028451090612200 ??? (https://javascript.ru/forum/dom-window/83937-615028451090612225-%3D-615028451090612200-a.html)

tovarz 22.04.2022 18:05

615028451090612225 = 615028451090612200 ???
 
Здравствуйте.
Столкнулся с непонятной проблемой в браузере Хром (как мобильном ios, так и на виндовс7).
Пишу :
aa = 615028451090612225; 
ss = aa.toString();
console.log(ss);

В итоге на выходе '615028451090612200'. Почему так? Пробовал:
String(aa)
а также
''+aa
результат тот же

voraa 22.04.2022 19:28

Максимальное целое число, которое можно точно представить в js - 2^53-1 = 9_007_199_254_740_991.
Все, что больше будет числом с плавающей точкой с соответствующими округлениями и погрешностями.
Если нужны большие целые числа, то надо использовать BigInt
https://developer.mozilla.org/ru/doc...Objects/BigInt

aa = 615_028_451_090_612_225n;
ss = aa.toString();
alert(ss);


Часовой пояс GMT +3, время: 09:27.