#values #integer #safely #money #usd

greenback

用于安全处理美元整数值的库

3 个版本

使用旧的 Rust 2015

0.0.3 2017年12月2日
0.0.2 2017年11月26日
0.0.1 2017年11月26日

#203 in 财务

BSD-3-Clause

13KB
324

greenback on crates.io Build Status

greenback

用于安全处理美元整数值的库

安装

编辑 Cargo.toml

[dependencies]
greenback="0.0.3"

使用

extern crate greenback;
use greenback::Greenback;

fn main() {

    // regular arithmetic operations

    let unit_price = Greenback::new(10, 99); // $10.99
    let quantity = 10;
    let coupon = Greenback::new(2, 0); // $2.00 off

    let total_cost = unit_price * quantity - coupon;

    println!("Total cost: {}", total_cost);

    // summation example

    let foo = Greenback::from_float(1.23); // $1.23
    let bar = Greenback::from_cents(4_56); // $4.56
    let baz = Greenback::new(3, 50);       // $3.50

    let sum: Greenback = vec![foo, bar, baz].into_iter().sum();

    if sum > Greenback::zero() {
        println!("sum: {}", sum);
    }
}

输出

Total cost: $107.90
sum: $9.29

状态

这是我第一个 Rust 包,我还在学习 Rust,所以用户请注意!

欢迎拉取请求和问题。

实现了所有基本算术运算(加、乘加、减、乘减等),以及排序和求和。还有一个默认格式化程序,可以像 $1,234.56 那样打印您的货币值。没有溢出检测,并且对 Mul 和 Div 特性的支持有限。我需要找出如何正确使用泛型来执行这些操作。

无运行时依赖