2011-08-02 29 views
2

好吧.. 我有一个红宝石阵列,这些浮点数:-) 12.321912389 122.438783 345.23242444 89.37827383如何打印花车,只有6位 - 红宝石

我想这些数字转换为6个位数数字不会丢失浮动资产。 像:-) 12.3219 122.438 345.232 89.3782

哪个函数能帮助我吗?对不起,如果这个问题很幼稚的你:-)

回答

0

这是非常愚蠢的(和慢),但它的作品(假设数字包括小数点):

numbers = [12.321912389, 122.438783, 345.23242444, 89.37827383] 
numbers.map! { |num| num.to_s[0..6].to_f } 
p numbers #=> [12.3219, 122.438, 345.232, 89.3782] 
3

您可以sprintf“G玩“格式,你需要的是6 显着数字:

(0..6).map{|i| '%.6g' % (10.0**i/3)} 
=> ["0.333333", "3.33333", "33.3333", "333.333", "3333.33", "33333.3", "333333"]