Обработка больших десятичных чисел (более 200 цифр/десятичных знаков) в TypeScript: преобразование строк и чисел и parseJavascript

Форум по Javascript
Anonymous
Обработка больших десятичных чисел (более 200 цифр/десятичных знаков) в TypeScript: преобразование строк и чисел и parse

Сообщение Anonymous »

Я работаю с очень большими десятичными числами в TypeScript, которые могут иметь до 200 десятичных знаков. В настоящее время я сохраняю эти числа в виде строк, чтобы сохранить точность.

Код: Выделить всё

const largeDecimal: string = "123.456789012345678901234567890..."; // 200+ decimal places
У меня есть два основных вопроса:
  • Правильно ли использование строки для хранения таких больших десятичных чисел?
    У меня есть два основных вопроса:

    Правильно ли использование строки для хранения таких больших десятичных чисел?
    li>
    Как лучше всего преобразовать эти строки в числа в ситуациях, когда мне нужно выполнить вычисления?
    Должен ли я использовать Number() или parseFloat()?

Код: Выделить всё

// Which approach is better?
const usingNumber = Number(largeDecimal);
const usingParseFloat = parseFloat(largeDecimal);
Что я пробовал
Я пробовал оба метода преобразования, но меня беспокоит возможная потеря точности:

Код: Выделить всё

const sample = "123.456789012345678901234567890";
console.log(Number(sample));     // 123.45678901234568
console.log(parseFloat(sample)); // 123.45678901234568
Вопросы
  • Является ли хранение таких больших десятичных знаков в виде строк хорошей практикой в ​​TypeScript?
  • Каков рекомендуемый способ обработки числовых операций с такими большими десятичными числами?
  • Существуют ли какие-либо встроенные решения TypeScript/JavaScript или мне следует рассмотреть возможность использования внешних библиотек?
  • Каков рекомендуемый способ обработки числовых операций с такими большими десятичными числами?
  • Существуют ли какие-либо встроенные решения TypeScript/JavaScript или мне следует рассмотреть возможность использования внешних библиотек?
    li>
Среда
Версия TypeScript: 5.x
Версия Node.js: 18.x
Любая информация или лучшее практики будем очень признательны!

Подробнее здесь: https://stackoverflow.com/questions/793 ... tring-vs-n

Вернуться в «Javascript»