Точная обработка десятичных чисел в JavaScript с помощью Google Closure Compiler & Library

Я 6 месяцев в проекте с использованием библиотеки закрытия Google и компилятора. Я нахожу, что хотел бы более точную обработку десятичных чисел (обработку некоторых простых валютных расчетов), одной из распространенных проблем, с которыми я сталкиваюсь, являются такие вещи, как:

(1.005).toFixed(2) != 1.01

Я не нашел соответствующих модулей в документации библиотеки закрытия, я попробовал библиотеку BigDecial ( https://github.com/dtrebbien/BigDecimal.js), а также bignumber.js ( https://github.com/MikeMcl/bignumber.js) и связанных проектов. Все они работают хорошо, но не работают при компиляции с --compilation_level=ADVANCED_OPTIMIZATIONS (у них нет аннотаций, требуемых компилятором).

  • Есть ли в библиотеке Google Closure метод обработки десятичных знаков произвольной точности или, по крайней мере, более точных чисел с плавающей запятой?
  • Есть ли внешняя библиотека, которая будет работать с компилятором замыкания с advanced_optimizations?
  • Существует ли эффективный во времени способ адаптации одной из перечисленных выше библиотек для работы с компилятором и advanced_optimizations?
  • Есть ли другие решения, которые я, возможно, не рассмотрел для более точных чисел с плавающей точкой в ​​JavaScript?

0 ответов

Другие вопросы по тегам