volkov_p_v
@volkov_p_v
FrontEnd разработчик

Как сохранить большое число в JS?

Приложение работает на nodejs.
От интегратора приходит число 37.586582183837891, но приложение его воспринимает как 37.58658218383789 (пропала 1 в конце)
Почему такое происходит и как получить 37.586582183837891?
Предложение конвектировать в строку не подходит, т.к. в приложении мне доступно число без последней единицы
UP:
После некоторых эксперементов заметил следующее поведение:
const a = 13.949999999999991;
const b = 13.949999999999998;

console.log(a); //13.94999999999999
console.log(b); //13.949999999999998

воспроизвести можно в консоле браузере

изучение работы с числами пока результат не дало
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
@maksam07
npm install decimal.js
const Decimal = require('decimal.js');

let number = new Decimal('37.586582183837891');
console.log(number.toString());


const Decimal = require('decimal.js');

function processNumber(input) {
  let preciseNumber = new Decimal(input);
  return preciseNumber;
}

let inputNumber = '37.586582183837891';
let preciseResult = processNumber(inputNumber);

console.log('Точное число:', preciseResult.toString());
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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