有办法让轨道打印出一个数字与逗号在它?
例如,如果我有一个数字540000000 .34,我可以运行<%= number。函数%>,输出“54,000,000.34”
谢谢!
有办法让轨道打印出一个数字与逗号在它?
例如,如果我有一个数字540000000 .34,我可以运行<%= number。函数%>,输出“54,000,000.34”
谢谢!
当前回答
下面的代码可以同时用于分隔符和精度(API ref)。
ActiveSupport::NumberHelper.number_to_rounded(1234.532, delimiter: ',', precision: 1)
(或者从视图中只使用number_to_rount_round,不需要前缀)
HTH
其他回答
对于Ruby的人: 格式化数字(仅限整数),每一组千位之间用逗号分隔。
number = 12345678
numStr1 = number.to_s.reverse.scan(/.{1,3}/).join(',').reverse
puts numStr1 # => 12,345,678
numStr2 = number.to_s.gsub(/\B(?=(...)*\b)/, ',')
puts numStr2 # => 12,345,678
对于Ruby Folks:可以创建函数将逗号设置为大整数。
def number_with_comma(numStr)
return numStr.to_s.gsub(/\B(?=(...)*\b)/, ',')
end
a = number_with_comma 1234567
puts a => 1,234,567
x = 9876543
y = number_with_comma x
puts y => 9,876,543
您可以使用来自ActiveSupport的方法
例如:
ActiveSupport::NumberHelper::number_to_currency(10000.1234,{精度:2,单位:"})
新语法
number_with_delimiter(@number, delimiter: ",")
如果你想用delimeter赚钱,你可以这么做
number_to_currency(@number)
这也会增加$。如果你使用金钱宝石,那么你可以这样做
Money.new(@number,"USD").format
这也会把$。
number_with_delimiter
ruby的钱
number_to_currency
是的,使用NumberHelper。您正在寻找的方法是number_with_delimiter。
number_with_delimiter(98765432.98, :delimiter => ",", :separator => ".")
# => 98,765,432.98