rust 浮点数格式化输出
时间: 2024-08-16 08:01:15 浏览: 89
在Rust语言中,浮点数的格式化输出通常通过`format!`宏或者`itoa`函数来实现。`format!`宏允许你按照特定模式控制数字的显示格式,包括小数位数、精度等。例如:
```rust
let num = 3.14159;
let formatted_num = format!("{}.{}, {}", num, num.fract(), num.is_nan() ? "NaN" : "OK");
println!("{}", formatted_num); // 输出类似 "3.14159, 0.000000, OK"
```
在这个例子中,`.fract()`获取小数部分,`is_nan()`检查是否是NaN(Not a Number)。如果你想直接转换成字符串而不使用格式化宏,可以使用`std::num::Format` trait配合`to_string()`方法:
```rust
use std::fmt::{self, Write};
let num = 3.14;
let mut buffer = String::new();
let formatter = fmt::Formatter::new(&mut buffer);
num.write_fmt(formatter).expect("Failed to write number");
println!("{}", buffer); // 输出 "3.14"
```
阅读全文