应该很简单。 我正在使用Rails并按照以下方式做一些事情:
<% n = 15 / 2 %>
<%= n %>
但是,每当我输出变量n时,它都不会给我一个小数。 基于其他计算,它看起来像是不断地向地板四舍五入,但我没有在任何地方添加任何圆形方法。
你能解释一下原因吗?我希望它实际上是圆形的。
答案 0 :(得分:1)
您可以使用Numeric#ceil
n = 15 / 2.0
n = n.ceil
现在,您需要使用.to_f
或将分子或分母指定为float(2.0
或15.0
),以便将其视为浮点表达式(如反对整数表达式)
答案 1 :(得分:1)
你也要求解释 - 解释是因为没有小数点,所以ruby将你的数字视为整数。当在ruby中完成整数除法时,小数点后的任何内容都会被截断。为了不丢失这些信息,你需要告诉ruby进行浮点运算,你可以用Karthikr解释的任何一种方式来做。
答案 2 :(得分:1)
问题是15和2不是浮点数而是整数。你正在做整数数学。
您可以使用.to_f
或添加.0
来强制使用浮点数,但您不会遇到同样的问题。如果您希望它向上舍入,那么您当然可以使用.ceil
所以,它不是'四舍五入'它是一个不同的concept。