例如:
我正在寻找一种方法来将非常大的数字缩短为一种易读的格式。
答案 0 :(得分:3)
number_to_human
非常接近您的要求。它向上和向下舍入,所以410589将成为" 411 K",不确定是否可以。
你需要一些I18n映射,或者提供一个单位散列来获取你的后缀,并稍微调整以获得你想要的精度,但是例如:
opts = { units: { thousand: "K" }, precision: 0, significant: false }
number_to_human 410589, opts # => "411 K"
number_to_human 4509, opts # => "5 K"
number_to_human 349, opts # => "349"