浮点数
fn main() {
// 断言0.1 + 0.2与0.3相等
assert!(0.1 + 0.2 == 0.3);
}
// 错误 panicfn main() {
let abc: (f32, f32, f32) = (0.1, 0.2, 0.3);
let xyz: (f64, f64, f64) = (0.1, 0.2, 0.3);
println!("abc (f32)");
println!(" 0.1 + 0.2: {:?}", (abc.0 + abc.1).to_bits());
println!(" 0.3: {:?}", (abc.2).to_bits());
println!();
println!("xyz (f64)");
println!(" 0.1 + 0.2: {:?}", (xyz.0 + xyz.1).to_bits());
println!(" 0.3: {:?}", (xyz.2).to_bits());
println!();
assert!(abc.0 + abc.1 == abc.2);
assert!(xyz.0 + xyz.1 == xyz.2);
}
// 断言失败
abc (f32)
0.1 + 0.2: 1050253722
0.3: 1050253722
xyz (f64)
0.1 + 0.2: 4599075939470750516
0.3: 4599075939470750515Last updated