@VazgXa
HTML верстальщик / Frontend разработчик

Как получить цифру без буквы e?

Есть a + b = 712577413488402631964821329 но в браузере результат пишет так 7.125774134884027e+26;
Может есть в javascripte такой метод который сделает эту цифру обычным - 712577413488402631964821329 ??
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
zendor
@zendor
Например так (код мой, когда то решал схожую задачу на codewars):
Решение
function sumStrings(s1, s2) {
  if (s1.length < s2.length) [s1, s2] = [s2, s1];
  s1 = [...s1].reduceRight((a, c, i) => {
    c = +c + ~~s2[i - (s1.length - s2.length)] + a.r;
    a.s = c % 10 + a.s;
    a.r = c / 10 | 0;
    return a;
  }, {r: 0, s: ''});
  return ((s1.r || '') + s1.s).replace(/^0+(?=\d)/, '');
}

Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Number.MAX_SAFE_INTEGER
9007199254740991

Ваше 712577413488402631964821329 намного больше, чем MAX_SAFE_INTEGER
Следовательно, такие операции нельзя проводить "в лоб".

Можно воспользоваться какой-нибудь библиотекой реализующей длинную арифметику.

Ну или написть свою.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы