Rails在提供国际通用的视图助手方面做得很好。这也适用于货币,使用助手number_to_currency
。但是,根据文档,我无法找到如何将该助手调整为特殊情况,即瑞士法郎(CHF)。
货币CHF的问题是最小的硬币是5美分,即最小步长为CHF 1.00、1.05、1.10、1.15等。没有1.01这样的东西。
这里显而易见的解决方案是乘以2,四舍五入,然后再次除以2。然而,我希望number_to_currency
,它在其他方面是如此强大,应该也能够解决这个问题。是这样吗?
Rails在提供国际通用的视图助手方面做得很好。这也适用于货币,使用助手number_to_currency
。但是,根据文档,我无法找到如何将该助手调整为特殊情况,即瑞士法郎(CHF)。
货币CHF的问题是最小的硬币是5美分,即最小步长为CHF 1.00、1.05、1.10、1.15等。没有1.01这样的东西。
这里显而易见的解决方案是乘以2,四舍五入,然后再次除以2。然而,我希望number_to_currency
,它在其他方面是如此强大,应该也能够解决这个问题。是这样吗?
2条答案
按热度按时间omjgkv6w1#
正如其他人所指出的,
number_to_currency
是一个字符串格式化程序。您正在寻找其他东西,与演示无关,但要使实际数字在您的瑞士货币上下文中有效。所以我只需要像这样扩展
Float
类:nx7onnlm2#
舍入不是该方法的可用选项之一。
我建议在将其传递给
number_to_currency
方法之前将其舍入,因为返回值是String
。