Не могу преобразовать String В Int

use std::io;

fn main() {
    println!("Enter the Celsius temperature to convert it to Fahrenheit");
    let mut celsius = String::new();
    
    io::stdin()
        .read_line(&mut celsius)
        .expect("Failed to read line");
    let mut i = celsius.parse::<i64>().unwrap();
}

Почему я не могу перевести Переменную celsius из String в Integer для дальнейших операций? ошибка: thread 'main' panicked at 'called Result::unwrap() on an Err value: ParseIntError { kind: InvalidDigit }', src\main.rs:10:40 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace


Ответы (1 шт):

Автор решения: timur

Метод read_line считывает строку вместе с символом '\n' в конце, поэтому надо использовать метод str.trim или str.trim_end:

let mut i = celsius.trim().parse::<i64>().unwrap();
→ Ссылка