printf("%.1f", 2.0)
它输出2.0,但我需要2,0。有没有一种方法可以为使用的地区格式化它,作为?没有gsub或全局设置,因为在这种情况下我只能访问格式字符串。
crcmnpdw1#
没有内置功能,但Active Support库中的方法很少例如,可以使用ActiveSupport::NumberHelper:
ActiveSupport::NumberHelper
require "active_support/dependencies/autoload" require "active_support/number_helper" ActiveSupport::NumberHelper.number_to_delimited(0.2, separator: ",") # => "0,2"
或者使用Ruby core extension for number conversions:
require "active_support/dependencies/autoload" require "active_support/core_ext/numeric/conversions" 0.2.to_fs(:delimited, separator: ",") # => "0,2"
如果你使用I18n库,并有YAML与分隔符,delimeter等:
0.2.to_fs(:delimited, locale: :fr)
1条答案
按热度按时间crcmnpdw1#
没有内置功能,但Active Support库中的方法很少
例如,可以使用
ActiveSupport::NumberHelper
:或者使用Ruby core extension for number conversions:
如果你使用I18n库,并有YAML与分隔符,delimeter等: