7 个不稳定版本 (3 个重大更改)

使用旧的Rust 2015

0.4.0 2016年4月24日
0.3.0 2015年12月17日
0.2.0 2015年8月4日
0.1.3 2015年7月24日
0.1.2 2015年6月2日

值格式化 中排名第 320

MIT 许可证

36KB
727

Rust货币库

一个非常小的库,提供了在Rust中表示货币的方法。

文档.

.

进度

我正在慢慢地、稳步地在一个仓库中实现IEEE标准十进制编码。

一旦完成,这个货币库将被重构以使用更小的编码,允许类型可以自由克隆和复制。

贡献

如果您想为此项目做出贡献,请参阅CONTRIBUTING.md (https://github.com/Tahler/currency-rs/blob/master/CONTRIBUTING.md)。


lib.rs:

Currency 是一个可选字符(Option<char>)和一个大整数 (BigInt)的组合。

常见操作被重载,以使数值操作变得容易。

这个包最有用的部分可能是 Currency::from_str 函数,它可以将国际货币表示(如 "$1,000.42" 和 "£10,99")转换为可用的 Currency 实例。

示例

extern crate currency;

fn main() {
    use currency::Currency;

    let sock_price = Currency::from_str("$11.99").unwrap();
    let toothbrush_price = Currency::from_str("$1.99").unwrap();
    let subtotal = sock_price + toothbrush_price;
    let tax_rate = 0.07;
    let total = &subtotal + (&subtotal * tax_rate);
    assert_eq!(format!("{}", total), "$14.95");
}

局限性

此包无法动态查找转换数据。它提供了一个 convert 函数,但转换率需要用户输入。

此包也不处理舍入或精度。在乘法、除法以及解析(如汽油价格)中的额外精度时,值会被截断。

依赖关系

~240KB