5个版本 (3个破坏性更新)
0.4.0 | 2024年8月4日 |
---|---|
0.3.0 | 2021年10月5日 |
0.2.1 | 2021年3月6日 |
0.2.0 | 2021年2月27日 |
0.1.0 | 2020年12月19日 |
在数学类别中排名第233
每月下载量138次
38KB
944 行
break-infinity.rs
将Patashu的break_infinity.js移植到Rust。它有一个Decimal
结构体,可以达到最大值1e9e15,而不是f64
的最大值1.79e308。
安装
您可以通过将以下行添加到您的Cargo.toml
来安装此包。
[dependencies]
break_infinity = "0.3.0"
# ...
功能
full-range
:将最大值增加到1e1.79e308。在1e9e15以上的精度降低serde
:使用Serde启用序列化和反序列化
用法
此库允许通过许多不同方法简单创建Decimal
。
use break_infinity::Decimal;
fn main() {
let x = Decimal::new(123.4567);
let y = Decimal::from_str("123456.7e-3").expect("Failed to parse Decimal");
}
返回Decimal
的方法也可以链式使用
use break_infinity as bi;
fn main() {
let short = ((x / &y + &z) * &Decimal::new(9.0)).floor();
let long = x.ceil()
.exp()
.log10();
}
有关函数和方法的完整列表,请参阅文档。
致谢
Patashu和Razenpok为创建原始的break_infinity.js
,本库基于此。
依赖项
~180KB