免责声明:由于2011年10月14日的明确重写
鉴于JavaScript中的number
原始类型是IEEE 75464位浮点数(在其他语言中称为双精度浮点数),使用浮点数来模拟货币是一个不好的想法,那么是否有一种Money原型(JavaScript)或Coffeescript类可以简化虚整数美分和字符串货币 ISO 4217 代码表示货币可用?
^肯定还有更好的表达方式。
我希望能够找到与许多其他语言中包含整数原始类型的常见设计模式相似的东西。
例如,我熟悉ruby的money gem和python的python-money包,它们都实现了此设计模式的变体。
理想情况下,我希望能找到一些与backbone.js和node.js友好的东西,但是所有的建议都将受到赞赏。
编辑4: 就我所知,只要在每个操作(&在链接操作之间)后对数字调用roundDownOrUp ? floor : ceiling
的实现,一切都会像处理整数一样运行。
旧信息,保留以记录问题的历史。
我读了如何在JavaScript中将数字格式化为货币,在那里我发现了accounting.js和jQuery Globalize,它们都可以进行漂亮的打印,但不是设计为模拟货币并执行与其相关的操作。
编辑1: 刚找到JSorm Currency在npm registry中,它具有 ISO 4217 意识,但似乎没有包含任何针对小数"惯用法"的修复。如果我理解有误,请纠正。
编辑2合并到重写中。
编辑3: 看起来一个好的选项是使用node-bigint,如 @RicardoTomasi 建议。
:D
- Jared Farrish.convertToUS()
解决了那个问题...:P :P :P
- Jared Farrish