Подтвердить что ты не робот

Есть ли класс денег для JavaScript?

Отказ от ответственности: полная переписывание для ясности с 10/14/2011

Данный примитив number в JavaScript - это IEEE 754 64-разрядная плавающая запятая (известная в другие языки как двойные), а с использованием float для моделирования валют - это плохая идея, - прототип Money (JavaScript) или Coffeescript Class, который упрощает использование псевдоцелых центов и строки код валюты ISO 4217 для представления валюты доступной?

^ По-прежнему должен быть лучший способ сказать это.

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

В качестве примера я знаком с денежным камнем для рубина, а python-money, оба из которых реализуют варианты этого шаблона проектирования.

Идеально искать что-то, что будет хорошо сочетаться с backbone.js и node.js, но все предложения были оценены.

Редактирование 4: Насколько я могу судить, до тех пор, пока при вызове функции {t21 > вызывается функция roundDownOrUp ? floor : ceiling) после каждой операции (& между цепными операциями), все будет работать так, как если бы речь шла о целых числах.


Старая информация, сохраненная для документирования истории вопроса.

Я читаю Как я могу форматировать числа в качестве денег в JavaScript? где я нашел accounting.js и jQuery Globalize, который оба они довольно красивы, но не предназначены для моделирования валют и выполнения операций с ними.

Изменить 1: только что нашел JSorm Currency в реестр npm, который соответствует ISO 4217, но не содержит никаких исправлений для float "gotchas". Пожалуйста, исправьте, если я неправильно понял.

Отредактируйте 2, чтобы переписать.

Изменить 3: Похоже, что хорошим вариантом было бы использовать node-bigint, как было предложено @RicardoTomasi.

4b9b3361

Ответ 1

Оба bigdecimal.js и node-bigint имеют произвольную точность.

Я бы пошел с bigint. bigdecimal - это версия GWT для Java BigDecimal, работающая на частоте 113 КБ, поэтому код не является тем, что можно было бы назвать читаемым.

update: money.js только что был выпущен, но он использует собственный номер javascript и ориентирован на конвертацию валюты.

Ответ 2

Существует класс GREAT $.money, который делает почти все, что вы могли бы хотеть, из денег в библиотеке ku4js-kernel. Здесь вы можете найти документацию здесь. Повеселись!: {)}

Ответ 3

Ищете что-то для обработки денег в node.js и наткнулся на этот вопрос, а затем нашел esmoney, который является калькулятором прямых денег. https://www.npmjs.com/package/es-money