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