Задать вопрос

Некорректное сравнение чисел в javascript?

Здраствуйте! Решаю задачу, если число выходит за переделы от [2^31-1, -2^31], то мне надо вывести ноль. Но проблема в том, что когда цифр в числе около 26, появляется примерно такой вид числа: -32+e1089078021421032.1, и из-за этого сравнение всегда выдает false, больше меньше равно, всегда false. Как можно исправить это? Заранее спасибо)
function name(x){
if(x > Math.pow(2, 31) - 1 || x < -Math.pow(2, 31)){ //Всегда false, если x слишком длинный
  return 0;
}else{
return x;
} }
  • Вопрос задан
  • 165 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 1
@Retreat
BigInt уже встроен в ES6, для использования нужно добавить в конец значения n.

1234567890123456789 * 123 //выдаст некорректное значение
1234567890123456789n * 123n //выдаст корректное значение
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы