为什么number_to_currency(33.50, :locale => :fr)显示33.50美元?它应该根据区域设置以不同的货币显示.我期望得到的结果33,50 €.
非常感谢!
locale localization ruby-on-rails ruby-on-rails-3 number-to-currency
如何使用number_to_currency并删除小数部分中的零?
所以,如果我有一个30.50的数字,我想保留.50,但如果我有30.00,我想删除那些零.我看到精度,但我不知道如果尾随小数为零,我是否可以有条件地使用它...
谢谢
我有一个动态生成的表,乘以价格*数量.部分价格为部分美分.例如
如果一个项目的价格是0.0375我可以在我的表中显示为
number_to_currency(0.0375,:precision => 4)
=> $0.0375
Run Code Online (Sandbox Code Playgroud)
但是对于价格是标准的2位十进制数的数量,我得到
number_to_currency(33.95,:precision => 4)
=> $39.9500
Run Code Online (Sandbox Code Playgroud)
我需要一种方法来修剪十进制值的尾随零.请记住,输出在Model.each块中,所以我不确定我是否可以有条件地修改precision参数.
我需要制定一种准确可靠的方法,将数字转换为用于印度编号系统(印度次大陆国家使用的官方文件)中的文字。
结果应该用于任何需要计数的主题(不仅是货币)。
该任务要求,除了官方编号系统之外,还可以选择使用通用系统(即使用万国系统)产生结果。
过去一周我一直在搜索和谷歌搜索这个,包括stackoverflow。
以下 StackOverflow(javascript 标记)在其标题和/或内容中包含问题和帖子参考印度数字或货币但不同且非常古老(大多数超过 7 到 9 岁)并且不回答我的问题或帮助我(并且在结果上大多相互矛盾,这增加了混乱):
我的问题是我不习惯这样的编号系统,无法确认我所做的任何编码都会产生正确的结果,因为我不是来自那个地区。
基于这篇解释印度编号系统的维基文章我创建了以下汇总表(希望正确)将相同的(根据我的理解)转换为步骤/流程逻辑,然后可以将其转换为适当的代码。
因此,基于上述(以及我对主题的理解),我制定了下面的 javascript 函数来处理:
我已经尝试(尽可能)使用 ES6 关键字和函数。
生成 Common-Use 文本时,由于输出很长且难以理解,因此在每个 Siptlet 文本之间插入了一个“逗号”。但是,如果不需要,可以在编码的第 8 行删除此逗号。
我还包含了 2 个测试用例代码来测试两个编号系统。
可以为 Common-Use 调用该函数,如下所示:
integerToWordsInd("2222300000")); // Two Hundred Twenty-Two Crore, Twenty-Three Lakh
Run Code Online (Sandbox Code Playgroud)
对于官方系统:
integerToWordsInd ("2222300000",true); // Two Arab Twenty-Two Crore Twenty-Three Lakh
Run Code Online (Sandbox Code Playgroud)
还增加了一个额外的函数 numberCurrencyInd() 将数字转换为印度货币“卢比和派萨”,并且可以使用官方或通用系统作为使用调用参数的选项(类似于数字转换函数)。
numberCurrencyIn(3002900000.50); //Three Hundred Crore, …Run Code Online (Sandbox Code Playgroud) javascript numbers currency number-systems number-to-currency