我的圆方法有问题。当我绕一个像1.876这样的数字时,它只给我1.8,我需要有1.80我用圆(2)。
我的功能如下:
@number.attr = (((@number1.to_f*number2.to_f)/100.0)).round(2).to_s
答案 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"