0

Rails 中有很多不错的“人类”助手,但在我的情况下,我必须使用点分隔符和一个字母单位(千 - 'k',百万 - 'm' 等)将数字缩短为 3 位数字。

number_to_human(number, strip_insignificant_zeros: true, precision: 2).gsub(/ /,'')

这个助手做得很好,除了我需要 25454 变成 25.5k 而不是 25.45k 。

一般来说,我需要根据点之前的位数将“精度”选项设置为 1 或 2。

我可以用我自己的助手包装 number_to_human 并自己计算精度,但我想知道是否还有其他方法,也许是一些 Ruby 魔法或类似的东西。

谢谢。

4

1 回答 1

0

文档说的含义precision由 的设置控制significant。默认情况下,它是有效位数。如果您设置significant: false, precision: 1,您会得到想要的效果,即您只想要小数点后的一位数字。

于 2013-01-29T16:13:23.607 回答