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

例如,如果我有一个数字540000000 .34,我可以运行<%= number。函数%>,输出“54,000,000.34”

谢谢!


当前回答

您可以使用来自ActiveSupport的方法

例如:

ActiveSupport::NumberHelper::number_to_currency(10000.1234,{精度:2,单位:"})

其他回答

您可以使用来自ActiveSupport的方法

例如:

ActiveSupport::NumberHelper::number_to_currency(10000.1234,{精度:2,单位:"})

对于javascript的人

function numberWithDelimiter(value) {
    return (value+"").split("").reverse().join("").replace(/(\d{3})(?=\d)/g, '$1,').split("").reverse().join("")
}

:)

不管有没有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"

有关更多选项,请参阅活动支持核心扩展-数字-格式。

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

另一种不使用helper的解决方案:格式化2位小数,然后替换。由,

puts(("%.2f" % 2.5666).gsub('.',','))
>> 2,57