Работа с точными значениями валюты в Javascript - PullRequest
0 голосов
/ 03 декабря 2018

Я работаю над системой, которая использует финансовые данные.Я получаю незначительные ошибки округления из-за использования чисел с плавающей запятой.Мне интересно, есть ли лучший способ справиться с этим.

Одна из проблем заключается в том, что я работаю со смесью разных валют, которые могут иметь до 12 знаков после запятой и большие числа для другихвалюты.

Это означает, что наименьшее число, которое мне нужно представить, это 0.000000000001 * (1 * 10 ^ -12), а наибольшее 100,000,000,000 (1 * 10 ^ 11).

Есть ли рекомендуемые способы работы с числами такого размера и не потерять точность?

1 Ответ

0 голосов
/ 04 декабря 2018

Если вы действительно пытаетесь остаться в царстве JS, вы можете рассмотреть Decimal.js , который должен охватывать ваш диапазон точности.
Если бы я писал это и нуждался в том, чтобы не было никакихошибки округления Я бы, вероятно, попытался бы использовать расширение GMP для другого языка в микросервисе, который занимался только финансовой математикой. GMPY2 для Python3, вероятно, хорошая ставка для чего-то быстрого и легкого.

...