为什么Ruby中的除法返回的是整数而不是十进制值?

例如:

9/5#=>1.

但是我期望1.8。如何获得正确的十进制(非整数)结果?为什么它会返回1

它在做整数除法。您可以使用强制进入浮点模式:

9.to_f/5=>1.8
9/5.to_f#=>1.8

如果您的值是变量而不是文字,则此方法也有效。将一个值转换为浮点值就足以将整个表达式强制为浮点运算

发表评论