2 个版本
使用旧的 Rust 2015
0.1.1 | 2021 年 10 月 2 日 |
---|---|
0.1.0 | 2019 年 5 月 7 日 |
在 文本处理 中排名 406
每月下载量 976
用于 9 个 包(6 个直接使用)
315KB
5.5K SLoC
float-pretty-print
将 f64 数字四舍五入并格式化以供人类查看,具有可配置的最小和最大宽度。它根据需要自动在指数形式和常规形式之间切换。
它通过尝试常规的 format!
,可能多次,并检查生成的字符串来工作。
只支持两种格式化参数
- 宽度是最小宽度
- 精度是最大宽度
如果它无法在给定的约束下输出数字,则打印 ###
示例
use float_pretty_print::PrettyPrintFloat;
assert_eq!(format!("{}", PrettyPrintFloat(3.45)), "3.45");
assert_eq!(format!("{}", PrettyPrintFloat(12.0)), "12.0");
assert_eq!(format!("{}", PrettyPrintFloat(120000000.0)), "1.2e8");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(12345.0)), "12345");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(12.345)), "12.35");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(0.12345)), "0.123");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(1234500000.0)), "1.2e9");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(12345.0e-19)), "1e-15");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(12345.0e-100)), "1e-96");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(12345.0e-130)), " 0");
assert_eq!(format!("{:5.5}", PrettyPrintFloat(12345.0e+130)), "1e134");
assert_eq!(format!("{:4.4}", PrettyPrintFloat(12345.0e+130)), "####");
assert_eq!(format!("{:6.6}", PrettyPrintFloat(12345.0e-130)), "1e-126");
支持甚至 Rust 1.23