深圳网站建设方案维护,网站优化策略分析,网站开发环境实验报告,网站运营管理主要内容目录
Rust 编程小技巧(8)
1. 取整函数 floor()
2. 取整函数ceil()
3. 取整函数 round()
4. 保留小数位数
5. 字符串转整数
unwrap()
unwrap_or() Rust 编程小技巧(8)
1. 取整函数 floor()
floor函数对浮点数进行向下取整
示例代码#xff1a;
fn main() {let x: …
目录
Rust 编程小技巧(8)
1. 取整函数 floor()
2. 取整函数ceil()
3. 取整函数 round()
4. 保留小数位数
5. 字符串转整数
unwrap()
unwrap_or() Rust 编程小技巧(8)
1. 取整函数 floor()
floor函数对浮点数进行向下取整
示例代码
fn main() {let x: f32 3.23;let s x.floor();println!({}, s);
} 输出
3
2. 取整函数ceil()
ceil函数对浮点数进行向上取整
示例代码
fn main() {let x: f32 3.23;let s x.ceil();println!({}, s);
} 输出
4
3. 取整函数 round()
round函数对浮点数进行四舍五入取整
示例代码
fn main() {let x: f32 3.23;let s x.round();println!({}, s);let x: f32 3.63;let s x.round();println!({}, s);
} 输出
3 4
4. 保留小数位数
使用以上三个取整函数达成目标
fn main() {let mut x: f32 3.1415926;let s format!({:.4}, x);println!({}\n, s);let s (x * 10000.0).round() / 10000.0;println!({}, s);let s (x * 10000.0).ceil() / 10000.0;println!({}, s);let s (x * 10000.0).floor() / 10000.0;println!({}\n, s);x 3.1415333;let s (x * 10000.0).round() / 10000.0;println!({}, s);let s (x * 10000.0).ceil() / 10000.0;println!({}, s);let s (x * 10000.0).floor() / 10000.0;println!({}, s);
}
5. 字符串转整数
unwrap()
用于从 Result 对象中获取 Ok 值。如果 Result 对象是 Err则会直接调用 panic! 来引发一个运行时错误。
示例代码
fn main() {let s 123;let i s.parse::i32().unwrap();println!({:?}, i);let s 12x3;let i s.parse::i32();println!({:?}, i);
}
输出
123 Err(ParseIntError { kind: InvalidDigit })
unwrap_or()
用于从 Result 对象中获取值如果 Result 对象是 Err则返回一个默认值。
示例代码
fn main() {let s 123;let i: i32 s.parse().unwrap_or(0);println!({:?}, i);let s 12x3;let i s.parse().unwrap_or(0);println!({:?}, i);
}
输出
123 0
匹配模式 let ... match
fn main() {let s 123;let i match s.parse::i32() {Ok(i) i,Err(_e) -1,};println!({:?}, i);let s 12x3;let i match s.parse::i32() {Ok(i) i,Err(_e) -1,};println!({:?}, i);
}
输出
123 -1
附match语法
是一种模式匹配工具用于根据值的特征进行多分支比较。它的基本语法如下
match value { pattern1 result1, pattern2 result2, ... _ resultN, } 这里的value是要被匹配的值可以与各个模式进行比较。如果value符合某个模式则执行对应的result。如果所有模式都不符合最后的那个_ resultN会被执行。
模式可以是任何可能被匹配的值或模式。例如可以使用变量来捕获模式中的值或者使用范围模式来匹配特定的值。
let number 3; match number { 1 println!(Number is 1), 2 println!(Number is 2), 3 println!(Number is 3), _ println!(Number is not 1, 2, or 3), } 在这个例子中number的值是3因此它与第三个模式匹配并打印出Number is 3。
另外还可以使用范围模式例如
let number 5; match number { 1..5 println!(Number is between 1 and 5), _ println!(Number is not between 1 and 5), } 在这个例子中number的值是5因此它与第一个模式匹配并打印出Number is between 1 and 5。 相关阅读
Rust 编程小技巧摘选(1)_Hann Yang的博客-CSDN博客
Rust 编程小技巧摘选(2)_Hann Yang的博客-CSDN博客
Rust 编程小技巧摘选(3)_Hann Yang的博客-CSDN博客
Rust 编程小技巧摘选(4)_Hann Yang的博客-CSDN博客
Rust 编程小技巧摘选(5)_Hann Yang的博客-CSDN博客
Rust 编程小技巧摘选(6)_Hann Yang的博客-CSDN博客
Rust 编程小技巧摘选(7)_Hann Yang的博客-CSDN博客