⌨️
Rust: ユーザーの文字入力を数字に変換するときに詰まったのでメモ。
ユーザーのコマンドライン入力を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