⌨️

Rust: ユーザーの文字入力を数字に変換するときに詰まったのでメモ。

2022/07/24に公開

ユーザーのコマンドライン入力をStringからi32に変換しようとしたときに詰まったので解決法を備忘録代わりに。

原因

入力された文字列に、改行コードが含まれていることが原因。

対処法

.parse().unwarp()する前に.trim()をかける。

コード

// 入力された値の読み込み
    println!("input↓");
    let mut input_value = String::new();
    io::stdin()
        .read_line(&mut input_value)
        .expect("Failed to read line");
    
    // Stringをi32に
    let input_value = input_value.trim(); // ←これ
    let input_value:i32 = input_value.parse().unwrap();

Discussion