#ruby
#ruby
Вопрос:
У меня есть вывод, подобный "35%"
из одной команды, и я удалил его "%"
. Тем не менее, оно хранится в виде строки. Есть ли функция для преобразования строки в целое число?
Ответ №1:
Вы можете просто сделать "35%".to_i
, который производит 35
Для вашей конкретной проблемы:
puts 'true' if 35 == "35".to_i
вывод:
true
Ответ №2:
Допустим, ваша строка равна «35%». Начните читать вашу строку посимвольно. Сначала ваш указатель находится на ‘3’. Вычтите из этого ‘0’ (ASCII 0) и умножьте результат на 10. Перейдите к следующему символу, в данном случае ‘5’, и снова вычтите ‘0’, но умножьте результат на 1. Теперь добавьте 2 результата, и вы получите целое число типа 35. Итак, что вы в основном делаете, это вычитаете ‘0’ из каждого символа и умножаете его на 10 ^ (его позицию), пока не нажмете на свой терминатор (здесь%).