#arbitrary-precision #decimal

no-std bignumber

A Rust library for arbitrary-precision decimal and non-decimal arithmetic

17 releases

0.1.1 Dec 7, 2023
0.1.0 Dec 7, 2023
0.0.16 Nov 6, 2022

#725 in Math

Download history 7/week @ 2024-07-07 6/week @ 2024-07-21 32/week @ 2024-07-28 57/week @ 2024-08-04 31/week @ 2024-09-22 12/week @ 2024-09-29 15/week @ 2024-10-06 26/week @ 2024-10-13

84 downloads per month

MIT license

16KB
459 lines

bignumber (WIP)

A Rust library for arbitrary-precision decimal and non-decimal arithmetic built on top of dashu-float

Install

cargo add bignumber

cargo add bignumber -F precision-512

Usage

use std::ops::Div;

use bignumber::{BigNumber, BigNumberError};

fn main() -> Result<(), BigNumberError> {
    let a = BigNumber::of("1.0001")?;
    let b = BigNumber::of("4096")?;
    let c = a.pow(&b);
    let d = BigNumber::from(10).powi(18);
    let e = ethereum_types::U256::max_value();
    let f = BigNumber::from(e);

    println!("{}", a);
    println!("{}", b);
    println!("{}", c);
    println!("{} ETH", BigNumber::of("44700000000000000")?.div(d));
    println!("{}", f);

    Ok(())
}

Dependencies

~2MB
~38K SLoC