Rails中有很多很好的“人”助手,但在我的情况下,我必须用点分隔和一个字母单位将数字缩短到3位(千“k”,百万“m”等)。
number_to_human(number, strip_insignificant_zeros: true, precision: 2).gsub(/ /,'')这个助手做了很好的工作,除了我需要25454才能变成25.5k,而不是25.45k。
一般情况下,我需要根据点前有多少位来设置'precision‘选项为1或2。
我可以通过自己的助手包装number_to_human,自己计算精度,但我想知道是否有其他方法,也许是一些Ruby魔术或类似的东西。
谢谢。
发布于 2013-01-30 00:13:24
docs说precision的含义由significant的设置控制。默认情况下,它是有效位数。如果设置为significant: false, precision: 1,就会得到想要的效果,即小数点后只需要一个数字。
https://stackoverflow.com/questions/14586809
复制相似问题