在Ruby中将String转换为Number

时间:2018-05-06 15:12:34

标签: ruby

我认为这一定非常简单。我有一系列数字作为字符串导入。我想将它们从字符串转换为数字。我认为.to_f应该这样做,但我只是得到了错误"未定义的方法`/' for" 1.24":String"。我在下面提供了一些测试代码。

z = "1.24"
x = "3.43"
z.to_f
x.to_f
@check = z/x

3 个答案:

答案 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)