【发布时间】:2009-05-08 03:08:21
【问题描述】:
我非常喜欢格式化浮点数,但如果没有相关的浮点数,我希望它显示为整数。
即
- 1.20 -> 1.2x
- 1.78 -> 1.78x
- 0.80 -> 0.8x
- 2.00 -> 2x
我可以通过一些正则表达式来实现这一点,但想知道是否有 sprintf-only 这样做的方式?
我在 ruby 中相当懒惰地这样做:
("%0.2fx" % (factor / 100.0)).gsub(/\.?0+x$/,'x')
【问题讨论】:
-
4 年后,我意识到 Regexp 具有微妙的误导性。
.gsub(/(\.0+)?x/, 'x')可能更好...
标签: ruby floating-point printf