Rails圆方法不给我想要的东西

时间:2013-07-01 20:07:34

标签: ruby-on-rails-3 controller rounding

我的圆方法有问题。当我绕一个像1.876这样的数字时,它只给我1.8,我需要有1.80我用圆(2)。

我的功能如下:

@number.attr = (((@number1.to_f*number2.to_f)/100.0)).round(2).to_s

2 个答案:

答案 0 :(得分:1)

Round无法做到这一点,因为1.8是标准浮点数,但1.80不是标准浮点数。

irb(main)> 1.80.to_f
=> 1.8

如果'。'之后只有1个数字,解决方法是将结果字符串与零连接。

答案 1 :(得分:0)

1.9.3-p194 :001 > sprintf("%.2f", 1.8)
# => "1.80" 
1.9.3-p194 :002 > sprintf("%.2f", 1.876)
# => "1.88"