Методы преобразования строк в целые числа в Rust: подробное руководство

Чтобы преобразовать строку в целое число в Rust, вы можете использовать несколько методов. Вот некоторые из распространенных подходов:

  1. Использование метода parse. Метод parseдоступен для строк, реализующих признак FromStr. Его можно использовать для преобразования строки в целочисленный тип. Вот пример:
let number: Result<i32, _> = "42".parse();
match number {
    Ok(n) => println!("Parsed number: {}", n),
    Err(e) => println!("Error: {}", e),
}
  1. Использование метода parse::: этот метод позволяет явно указать тип переменной, в которую вы хотите проанализировать строку. Вот пример:
let number: Result<i32, _> = "42".parse::<i32>();
match number {
    Ok(n) => println!("Parsed number: {}", n),
    Err(e) => println!("Error: {}", e),
}
  1. Использование метода unwrap. Если вы уверены, что строку всегда можно преобразовать в целое число, вы можете использовать метод unwrapдля прямого извлечения значения. Однако будьте осторожны, так как это приведет к панике, если синтаксический анализ завершится неудачно. Вот пример:
let number: i32 = "42".parse().unwrap();
println!("Parsed number: {}", number);
  1. Использование метода unwrap_or: этот метод позволяет предоставить значение по умолчанию в случае сбоя анализа. Вот пример:
let number: i32 = "42".parse().unwrap_or(0);
println!("Parsed number: {}", number);
  1. Использование контейнера atoi. Крейт atoiпредоставляет удобный способ преобразования строки в целое число. Вы можете добавить его как зависимость в свой файл Cargo.tomlи использовать следующим образом:
use atoi::atoi;
let number: Option<i32> = atoi::<i32>("42".as_bytes());
match number {
    Some(n) => println!("Parsed number: {}", n),
    None => println!("Error: Failed to parse"),
}

Не стесняйтесь изменять их в соответствии со своими требованиями.