我认为这一定非常简单。我有一系列数字作为字符串导入。我想将它们从字符串转换为数字。我认为.to_f
应该这样做,但我只是得到了错误"未定义的方法`/' for" 1.24":String"。我在下面提供了一些测试代码。
z = "1.24"
x = "3.43"
z.to_f
x.to_f
@check = z/x
答案 0 :(得分:2)
to_f
调用不会改变变量本身(但粗略地说是返回一个浮点数)。您至少有以下选项:
<强> 1。将to_f的返回值分配给新变量
x = "3.43"
z = "1.24"
x_float = x.to_f
z_float = z.to_f
@check = z_float/x_float
<强> 2。计算完成后调用 (就像@Sean的回答一样)
第3。致电首次转让
x = "3.43".to_f
z = "1.24".to_f
@check = z/x
答案 1 :(得分:1)
调用to_f
不会重新分配变量的值:
z = "1.24"
x = "3.43"
z.to_f
# ^^ z is still a string
x.to_f
# ^^ x is still a string
@check = z/x
# Perhaps z.to_f / x.to_f
答案 2 :(得分:1)
你可以让它更简单:
z = "1.24"
x = "3.43"
@check = Float(z)/Float(x)