Convertir cadena a int en Rust
Nilesh Katuwal
21 junio 2023
Este artículo nos enseñará cómo convertir la cadena a int en rust.
Use el método str::parse::()
para convertir cadenas a int en Rust
Podemos convertir directamente la cadena en un int usando el método str::parse::()
.
let string_value = "27".to_string();
let int_value = string_value.parse::<i32>().unwrap();
Código de ejemplo:
fn main() {
let mut string_one: &str = "789";
let mut i = match string_one.parse::<i32>() {
Ok(i) => i,
Err(_e) => -1,
};
println!("{:?}", i);
}
Producción :
789
Ahora, extraeremos el valor entero i
de la a
, que es una representación de cadena. Veamos el siguiente código.
Código de ejemplo:
fn main() {
let mut a = "789";
let mut i: i32 = a.parse().unwrap_or(0);
println!("{:?}", i);
a = "12u3";
i = a.parse().unwrap_or(0);
println!("{:?}", i);
}
Producción :
789
0
Si queremos analizar un tipo específico como usize
, podemos usar el operador especial turbofish
de Rust en una declaración if-let
para analizar un usize
.
Código de ejemplo:
fn main() {
let data = "60606";
if let Ok(result) = data.parse::<usize>() {
println!("USIZE RESULT: {}", result);
}
}
Producción :
USIZE RESULT: 60606
Si tenemos algunos dígitos dentro de otra cadena, podemos extraer una porción de esa cadena usando la función get()
. Entonces, el número puede ser analizado.
Código de ejemplo:
fn main() {
let value = "a 6789 b";
let inner_part = value.get(2..value.len() - 2).unwrap();
println!("INNER PART: {}", inner_part);
// Tp parse inner part.
let result: u32 = inner_part.parse().unwrap();
println!("PARSED: {0}", result);
}
Producción :
INNER PART: 6789
PARSED: 6789