我只是想得到一个百分比.
irb(main):001:0> (25 / 50) * 100 => 0
这应该绝对等于50,如我的计算器所确认的(复制并粘贴到gcalc中的相同方程).为什么Ruby拒绝这样做?
解决方法
它正在进行整数除法.
基本上,25是一个整数(一个整数),所以是50,所以当你分开一个,另一个整数.
25 / 50 * 100 = 0.5 * 100 = 0 * 100 = 0
这样做的最好办法是首先倍增,然后再分割.
25 * 100 / 50 = 2500 / 50 = 50
您还可以通过指定小数点显式地使用浮点算术,如:
25.0 / 50.0 * 100 = 0.5 * 100 = 50