Bo *_*nes 39 ruby floating-point printf
我非常格式化浮点数,但如果没有相关的浮点数,则希望它显示为整数.
即
我可以通过一些正则表达式实现这一点,但想知道是否有sprintf
这样做的唯一方法?
我喜欢懒洋洋地在红宝石中这样做:
("%0.2fx" % (factor / 100.0)).gsub(/\.?0+x$/,'x')
Run Code Online (Sandbox Code Playgroud)
Naa*_*aff 48
你想用%g
而不是%f
:
"%gx" % (factor / 100.00)
Run Code Online (Sandbox Code Playgroud)
Vik*_*nic 20
如果你正在使用rails,你可以使用rails的NumberHelper方法:http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html
number_with_precision(13.001, precision: 2, strip_insignificant_zeros: true)
# => 13
number_with_precision(13.005, precision: 2, strip_insignificant_zeros: true)
# => 13.01
Run Code Online (Sandbox Code Playgroud)
注意,因为精确意味着在这种情况下小数点后的所有数字.
我结束了
price = price.round(precision)
price = price % 1 == 0 ? price.to_i : price.to_f
Run Code Online (Sandbox Code Playgroud)
这样你甚至可以得到数字而不是字符串
归档时间: |
|
查看次数: |
15911 次 |
最近记录: |