#mint #blockchain #solana #floating-point

financial-ops

一个Rust库,用于执行不带浮点数的十进制算术

1 个不稳定版本

0.1.0 2024年7月31日

#967 in 魔法豆

Download history 102/week @ 2024-07-28 3/week @ 2024-08-04

每月105次下载

MIT 许可证

29KB
543 代码行

财务操作

该包提供了一套处理财务数据的操作,更具体地说,避免使用浮点类型。

用法

use financial_ops::CheckedDecimalOperations;

fn test_add_decimals() {
    let a: u64 = 1_0000;
    let a_decimals = 4;
    let b: u64 = 2_00;
    let b_decimals = 2;

    let (result, decimals) = a.add_decimals_checked(b, a_decimals, b_decimals)?;
    assert_eq!(result, 3_0000);
    assert_eq!(decimals, 4);

    let a: u32 = 123_45;
    let a_decimals = 2;
    let b: u32 = 0_45;
    let b_decimals = 2;

    let (result, decimals) = a.add_decimals_checked(b, a_decimals, b_decimals)?;
    assert_eq!(result, 123_90);
    assert_eq!(decimals, 2);
}

处理货币或区块链交易时非常有用。

无运行时依赖