#numbers #precision #float #output #ufmt #level #f32

no-std ufmt_float

ufmt对f32和f64的写者实现的草稿

2个不稳定版本

0.2.0 2022年9月8日
0.1.0 2020年1月2日

#615 in 嵌入式开发

Download history 42/week @ 2024-04-29 18/week @ 2024-05-13 15/week @ 2024-05-20 24/week @ 2024-05-27 18/week @ 2024-06-03 14/week @ 2024-06-10 13/week @ 2024-06-17 20/week @ 2024-06-24 4/week @ 2024-07-08 22/week @ 2024-07-15 9/week @ 2024-07-22 45/week @ 2024-07-29 15/week @ 2024-08-05 12/week @ 2024-08-12

84每月下载量
3 个crate中使用 (via simmer)

MIT 许可证

11KB
135

ufmt的f32和f64写者

基于小数点后位数有六个精度级别。精度很大程度上取决于有效数字和小数的选择。使用最低精度以获得最佳结果。

如何使用

  • 使用所需的精度级别构建 uFmt_fx 枚举
  • 将该变量发送到ufmt宏
  • 该宏将输出浮点数的文本表示形式。
use ufmt::{uwriteln};    
use ufmt_float::uFmt_f32;
let pi = 3.14159234;
let mut s = String::new();
let pi_write = uFmt_f32::Zero(pi);
uwriteln!(&mut s, "{}",pi_write).unwrap();

当前精度约为4-5位有效数字,具体取决于数值。

唯一相关的功能是 maths。如果设置为true,则库将使用micromaths crate对f32结构体进行转换。如果没有选择,它将使用理论上的方法,但可能引入错误。

如果您有关于如何提高精度的建议,请添加问题或PR。

目前对最后一位没有四舍五入,且分隔符不可选。

依赖关系

~1.5MB
~39K SLoC