有办法让轨道打印出一个数字与逗号在它?
例如,如果我有一个数字540000000 .34,我可以运行<%= number。函数%>,输出“54,000,000.34”
谢谢!
有办法让轨道打印出一个数字与逗号在它?
例如,如果我有一个数字540000000 .34,我可以运行<%= number。函数%>,输出“54,000,000.34”
谢谢!
当前回答
对于javascript的人
function numberWithDelimiter(value) {
return (value+"").split("").reverse().join("").replace(/(\d{3})(?=\d)/g, '$1,').split("").reverse().join("")
}
:)
其他回答
您可以使用来自ActiveSupport的方法
例如:
ActiveSupport::NumberHelper::number_to_currency(10000.1234,{精度:2,单位:"})
如果您希望在视图之外添加逗号,并且不想包含某些模块,则可以使用number_to_delimited方法(rails version >= 4.02)。例如:
#inside anywhere
ActiveSupport::NumberHelper.number_to_delimited(1000000) # => "1,000,000"
新语法
number_with_delimiter(@number, delimiter: ",")
如果你想用delimeter赚钱,你可以这么做
number_to_currency(@number)
这也会增加$。如果你使用金钱宝石,那么你可以这样做
Money.new(@number,"USD").format
这也会把$。
number_with_delimiter
ruby的钱
number_to_currency
不管有没有Rails,实现这一点的直接方法是:
require 'active_support'
require 'active_support/core_ext/numeric/conversions'
12345.to_s(:delimited) # => "12,345"
12345.6789.to_s(:delimited) # => "12,345.6789"
有关更多选项,请参阅活动支持核心扩展-数字-格式。
下面的代码可以同时用于分隔符和精度(API ref)。
ActiveSupport::NumberHelper.number_to_rounded(1234.532, delimiter: ',', precision: 1)
(或者从视图中只使用number_to_rount_round,不需要前缀)
HTH