我必须评估字符串才能得到结果。例如,
eval('5*6.45').to_f # => 32.25
是预期的。
我为什么得到:
eval('7/14').to_f # => 0.0
而不是0.5
?如何获得适当的价值?在我的游戏(GUI)中,我应该有14
而不是14.0
。
答案 0 :(得分:4)
eval('7/14')
与
相同7/14
,它是0(整数除法)。将0转换为浮点数会导致浮点数为零,即0.0
如果您要写(即)
7.0/14
,您会得到理想的结果。
答案 1 :(得分:0)
这是因为7的(绝对值)小于14的(绝对值)。得到0。然后,转换为float的0为0.0。