A real fixed-point decimal crate in Rust
a year ago
- #Rust
- #fixed-point
- #decimal
- Rust内置的f32和f64类型存在缺陷:它们无法精确表示十进制小数,且不保证分数精度。
- 该库通过使用整数类型配合基数为10的缩放因子,提供定点小数类型,确保精确性和静态比例绑定。
- 提供两种定点小数类型:ConstScaleFpdec(通过常量泛型指定比例)和OobScaleFpdec(比例通过外部管理)。
- 加减运算和比较操作限制为相同类型和比例,确保类型安全和性能,而乘除运算允许不同比例并指定结果比例。
- 通过cum_error参数解决交易手续费等运算中的累积误差问题,提升金融计算的精度。
- 支持no_std环境,并可选集成serde实现序列化/反序列化功能。
- 许可证:MIT。