有办法让轨道打印出一个数字与逗号在它?
例如,如果我有一个数字540000000 .34,我可以运行<%= number。函数%>,输出“54,000,000.34”
谢谢!
有办法让轨道打印出一个数字与逗号在它?
例如,如果我有一个数字540000000 .34,我可以运行<%= number。函数%>,输出“54,000,000.34”
谢谢!
当前回答
如果您希望在视图之外添加逗号,并且不想包含某些模块,则可以使用number_to_delimited方法(rails version >= 4.02)。例如:
#inside anywhere
ActiveSupport::NumberHelper.number_to_delimited(1000000) # => "1,000,000"
其他回答
对于不使用rails的人:
number.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
我在开发Rails 6应用程序时遇到了这个挑战。
如果数字是一个项目的价格或与货币有关,那么你可以使用number_to_currency ActionView Helper
以下是如何做到这一点:
number_to_currency("123456789") # => $123456789
number_to_currency(1234567890.50) # => $1,234,567,890.50
number_to_currency(1234567890.506) # => $1,234,567,890.51
number_to_currency(1234567890.506, precision: 3) # => $1,234,567,890.506
number_to_currency(1234567890.506, locale: :fr) # => 1 234 567 890,51 €
number_to_currency(1234567890.50, unit: '₦', delimiter: ',', precision: 0) # => ₦1,234,567,890
number_to_currency(1234567890.50, unit: "R$", separator: ",", delimiter: "") # => R$1234567890,50
您可以在Rails文档:number_to_currency中了解更多有关它的信息
这是所有。
我希望这对你们有帮助
新语法
number_with_delimiter(@number, delimiter: ",")
如果你想用delimeter赚钱,你可以这么做
number_to_currency(@number)
这也会增加$。如果你使用金钱宝石,那么你可以这样做
Money.new(@number,"USD").format
这也会把$。
number_with_delimiter
ruby的钱
number_to_currency
另一种不使用helper的解决方案:格式化2位小数,然后替换。由,
puts(("%.2f" % 2.5666).gsub('.',','))
>> 2,57
您需要使用number_with_delimiter方法。例如:
<%= number_with_delimiter(@number, :delimiter => ',') %>
或者,你也可以使用number_with_precision方法来确保数字总是以小数点后两位的精度显示:
<%= number_with_precision(@number, :precision => 2, :delimiter => ',') %>