有没有一个Money类的JavaScript?

免责声明:截至2011年10月14日,为了清晰起见,完全重写

鉴于 JavaScript中的number原语是IEEE 754 64位浮点( 在其他语言中称为双 精度 浮点数 ), 使用浮点数来模拟货币是一个坏主意是一个Money原型 (JavaScript) 或一个可以简化使用的Coffeescript类伪整数美分和string货币ISO 4217代码来表示货币可用

^仍然有一个更好的方式来说。

我希望find一些能够反映出包括一个整数原语在内的其他许多语言的通用devise模式的东西。

作为例子,我熟悉Ruby的金钱gem和python-money包,它们都实现了这种devise模式的变化。

理想情况下,寻找一些将与backbone.js和node.js很好,但所有的build议表示赞赏。

编辑4 :据我所知,只要执行roundDownOrUp ? floor : ceiling 在每个操作之后(&在链式操作之间), roundDownOrUp ? floor : ceiling被调用,所有的东西都会像处理整数一样起作用。


旧的信息,保留以logging问题的历史。

我读了如何在JavaScript中将数字格式化为金钱? 在那里我发现了accounting.js和jQuery Globalize ,它们都做漂亮的打印,但不是用来模拟货币和执行操作。

编辑1 :刚刚在ISO 4217知道npmregistry中findJSorm货币 ,但似乎没有包含任何修正浮动“ 陷阱 ”。 如果我误读了,请纠正。

编辑2折叠成重写。

编辑3 :它看起来像一个很好的select将使用@RicardoTomasibuild议的node-bigint 。

bigdecimal.js和node-bigint都具有任意精度。

我会去bigint。 bigdecimal是Java的BigDecimal的GWT版本,时钟频率为113kb,所以代码不是可读的

更新: money.js刚刚发布,但它使用JavaScript的本地号码,并专注于货币转换。

在ku4js-内核库中,几乎所有你可能想要从金钱中获得的东西都有一个非常棒的.money类。 你可以在这里find文档。 玩的开心! :{)}

在node.js上找钱来处理这个问题,然后find了一个简单的钱计算器esmoney。 https://www.npmjs.com/package/es-money