#字符串转换 #浮点数 #显示 #双精度浮点数 #浮点数 #dtoa

pretty_dtoa

可配置的浮点数到字符串转换,具有许多选项来控制显示浮点数的各个方面

3 个版本 (破坏性)

0.3.0 2021 年 5 月 4 日
0.2.0 2021 年 3 月 24 日
0.1.0 2020 年 6 月 4 日

#164值格式化

Download history 2054/week @ 2024-03-14 2129/week @ 2024-03-21 1808/week @ 2024-03-28 1806/week @ 2024-04-04 2165/week @ 2024-04-11 1905/week @ 2024-04-18 2793/week @ 2024-04-25 2558/week @ 2024-05-02 2594/week @ 2024-05-09 2432/week @ 2024-05-16 2029/week @ 2024-05-23 2739/week @ 2024-05-30 2152/week @ 2024-06-06 2334/week @ 2024-06-13 2690/week @ 2024-06-20 1547/week @ 2024-06-27

9,108 每月下载量
54 个 Crates 中使用 (6 直接)

MIT/Apache

36KB
694

Beautiful dtoa

可配置的浮点和双精度打印。 pretty_dtoa 提供了大量选项来配置显示浮点数的各个方面,并且总共只有 1 个依赖项(包括依赖项的依赖项),因此编译时间非常快。

此 crate 使用 ryu-floating-decimal crate(它本身是 ryu crate 的分支)生成“浮点小数”,即基数 10 的浮点数,然后使用特定于配置的格式化规则创建格式化字符串。

此模块运行速度略慢(通常比 f64 的默认 Display 实现慢 1x 到 2x)。可以使用 cargo bench 运行基准测试。

如果 Display 的默认行为或像 ryu 这样的替代浮点打印库的行为不理想,请考虑使用 pretty_dtoa

示例

use pretty_dtoa::{dtoa, FmtFloatConfig};

let config = FmtFloatConfig::default()
     .force_no_e_notation()      // Don't use scientific notation
     .add_point_zero(true)       // Add .0 to the end of integers
     .max_significant_digits(4)  // Stop after the first 4 non-zero digits
     .radix_point(',')           // Use a ',' instead of a '.'
     .round();                   // Round after removing non-significant digits

 assert_eq!(dtoa(12459000.0, config), "12460000,0");

查看 src/lib.rs 中的测试用例,以获取每个功能的示例,并查看文档以查看所有可配置的功能。

依赖项

~74KB