有办法让轨道打印出一个数字与逗号在它?

例如,如果我有一个数字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("")
}

:)

其他回答

下面的代码可以同时用于分隔符和精度(API ref)。

ActiveSupport::NumberHelper.number_to_rounded(1234.532, delimiter: ',', precision: 1) 
     

(或者从视图中只使用number_to_rount_round,不需要前缀)

HTH

对于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

是的,使用NumberHelper。您正在寻找的方法是number_with_delimiter。

 number_with_delimiter(98765432.98, :delimiter => ",", :separator => ".")
 # => 98,765,432.98

您需要使用number_with_delimiter方法。例如:

<%= number_with_delimiter(@number, :delimiter => ',') %>

或者,你也可以使用number_with_precision方法来确保数字总是以小数点后两位的精度显示:

<%= number_with_precision(@number, :precision => 2, :delimiter => ',') %>

如果您希望在视图之外添加逗号,并且不想包含某些模块,则可以使用number_to_delimited方法(rails version >= 4.02)。例如:

#inside anywhere
ActiveSupport::NumberHelper.number_to_delimited(1000000) # => "1,000,000"