在Rails中有很多不错的'人'助手,但在我的情况下,我必须用点分隔符和单字母单位(千 - 'k',百万 - '米'等)将数字缩短为3位数
number_to_human(number, strip_insignificant_zeros: true, precision: 2).gsub(/ /,'')
这个助手做得很好,除了我需要25454才能变成25.5k而不是25.45k。
一般情况下,我需要根据点前面的位数将'precision'选项设置为1或2。
我可以用自己的助手包装number_to_human并用自己的方式计算精度,但我想知道是否还有其他方式,也许是一些Ruby魔法或类似的东西。
感谢。
答案 0 :(得分:0)
docs表示precision
的含义受significant
的设置控制。默认情况下,它是有效位数。如果设置significant: false, precision: 1
,您将获得所需的效果,即您只想要小数点后面的一位数。