Ruby中如何使用字符串格式化程序限制小数点前两位和小数点后两位?

How do I use string formatter to restrain two digits before decimal point and two digits after in Ruby?

我很清楚,如果你想强制使用两位数,你可以

"%2d" % blah

如果在需要强制小数点后两位数的情况下,你可以

".2f" % blah

我有点困惑我应该怎么做才能将这两者结合在一起?也就是说4.6会渲染成04.60,34.274还是会渲染成34.27

显然

"%2d.2f" % blah

不起作用。

我在想我应该去

"%2d%.2f" % [bla_first_half, blah_second_half]

但是我有点不愿意这样做,因为它有点乏味。

我知道 Java 一个人是否可以轻松做到

"##.##"

那么有没有这样的 ruby 对应物呢?干杯!

"%05.2f" % 4.66   # => 04.66
"%05.2f" % 34.274 # => 34.27
  1. .2f表示浮点数在.
  2. 之后四舍五入到只有两位数
  3. 05 表示字符串将不少于 5 个字符,如果少于 - 它将用 0 填充缺失的字符。