Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2022, 18:05
Новичок на форуме
Отправить личное сообщение для tovarz Посмотреть профиль Найти все сообщения от tovarz
 
Регистрация: 13.02.2011
Сообщений: 6

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

В итоге на выходе '615028451090612200'. Почему так? Пробовал:
String(aa)
а также
''+aa
результат тот же
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2022, 19:28
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

Максимальное целое число, которое можно точно представить в 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);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск