📅  最后修改于: 2023-12-03 15:19:53.214000             🧑  作者: Mango
在 Rust 中,将字符串转换为整数是一项基本任务。 Rust 标准库编程语言提供了以下方法来处理此任务。
parse()
方法是处理字符串转换为整数的最基本方法。它可用于将字符串转换为整数、浮点数和其他基本类型。
以下示例演示如何使用 parse()
方法将字符串转换为整数。
let num: i32 = "42".parse().expect("Not a number!");
在这个例子中,使用 parse()
方法将字符串 "42" 转换为 i32
,并将结果分配给变量 num
。如果无法将字符串转换为整数,则会引发 panic。
如果字符串无法转换为整数,则会发生错误。 Rust 提供了多种处理错误的方法。例如,unwrap()
方法可以解除 Option,而expect()
方法则可以打印错误消息。
以下示例演示了处理错误的方法。
let x: Result<i32, _> = "not a number".parse();
let y: i32 = match x {
Ok(num) => num,
Err(_) => 0,
};
println!("{}", y); // Prints: 0
在这个例子中,字符串 "not a number" 无法转换为整数。因此,parse()
方法将返回 Result
值,其中包含 Err
。
将 Result
值分配给变量 x
。然后,使用 match
表达式处理结果。如果转换成功,则将值分配给变量 y
,否则将其设置为 0。
如果字符串包含无效数字,则转换将失败。例如,在 Rust 中,字符串 "test" 无法转换为整数。因此,parse()
方法将返回 Result
值,其中包含 Err
。
以下示例演示如何处理无效数字。
let x: Result<i32, _> = "test".parse();
let y: i32 = match x {
Ok(num) => num,
Err(_) => 0,
};
println!("{}", y); // Prints: 0
在这个例子中,字符串 "test" 无法转换为整数。因此,parse()
方法将返回 Result
值,其中包含 Err
。我们使用和之前处理错误的方法一样的方式处理无效数字。如果转换成功,将值分配给变量 y
,否则将其设置为 0。
有时,您需要将字符串转换为不同的进制,例如十六进制或八进制。此时需要使用 from_str_radix()
方法。
以下示例演示如何将字符串转换为十六进制。
let num = i32::from_str_radix("2A", 16).unwrap();
println!("{}", num); // Prints: 42
在这个例子中,我们使用 from_str_radix()
方法将字符串 "2A" 转换为十六进制的整数,并将结果分配给变量 num
。
在 Rust 中,将字符串转换为整数是一个基本任务。您可以使用 parse()
方法来执行此操作。如果无法将字符串转换为整数,则需要处理错误。如果需要将字符串转换为不同的进制,则使用 from_str_radix()
方法。