Преобразовать строку в число в Ruby - PullRequest
0 голосов
/ 06 мая 2018

Я думаю, это должно быть действительно просто. У меня есть ряд чисел, которые импортируются как строки. Я хочу преобразовать их из строк в числа. Я думал, что .to_f должен сделать это, но я просто получаю ошибку "undefined method` / 'для "1.24": String ". Я включил тестовый код ниже.

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

Ответы [ 3 ]

0 голосов
/ 06 мая 2018

Вызов 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's)

3. Позвоните по первому назначению

x = "3.43".to_f
z = "1.24".to_f

@check = z/x
0 голосов
/ 07 мая 2018

Вы можете сделать это еще проще:

z = "1.24"
x = "3.43"
@check = Float(z)/Float(x)
0 голосов
/ 06 мая 2018

Вызов 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...