Hasty Briefsbeta

双语

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。