Как преобразовать число в строке в целое число

#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 ^ (его позицию), пока не нажмете на свой терминатор (здесь%).