Struct bigdecimal::BigDecimal[][src]

pub struct BigDecimal { /* fields omitted */ }

A big decimal type.

Methods

impl BigDecimal
[src]

Creates and initializes a BigDecimal.

Creates and initializes a BigDecimal.

Examples

use bigdecimal::{BigDecimal, Zero};

assert_eq!(BigDecimal::parse_bytes(b"0", 10).unwrap(), BigDecimal::zero());
// assert_eq!(BigDecimal::parse_bytes(b"f", 16), BigDecimal::parse_bytes(b"16", 10));

Return a new BigDecimal object equivalent to self, with internal scaling set to the number specified. If the new_scale is lower than the current value (indicating a larger power of 10), digits will be dropped (as precision is lower)

Return a new BigDecimal object with precision set to new value

Return the sign of the BigDecimal as num::bigint::Sign.

Examples

extern crate num_bigint;
extern crate bigdecimal;
use std::str::FromStr;

assert_eq!(bigdecimal::BigDecimal::from_str("-1").unwrap().sign(), num_bigint::Sign::Minus);
assert_eq!(bigdecimal::BigDecimal::from_str("0").unwrap().sign(), num_bigint::Sign::NoSign);
assert_eq!(bigdecimal::BigDecimal::from_str("1").unwrap().sign(), num_bigint::Sign::Plus);

Return the internal big integer value and an exponent. Note that a positive exponent indicates a negative power of 10.

Examples

extern crate num_bigint;
extern crate bigdecimal;
use std::str::FromStr;

assert_eq!(bigdecimal::BigDecimal::from_str("1.1").unwrap().as_bigint_and_exponent(),
           (num_bigint::BigInt::from_str("11").unwrap(), 1));

Convert into the internal big integer value and an exponent. Note that a positive exponent indicates a negative power of 10.

Examples

extern crate num_bigint;
extern crate bigdecimal;
use std::str::FromStr;

assert_eq!(bigdecimal::BigDecimal::from_str("1.1").unwrap().into_bigint_and_exponent(),
           (num_bigint::BigInt::from_str("11").unwrap(), 1));

Number of digits in the non-scaled integer representation

Compute the absolute value of number

Divide this efficiently by 2

Note, if this is odd, the precision will increase by 1, regardless of the context's limit.

Take the square root of the number

If the value is < 0, None is returned

Take the cube root of the number

Evaluate the natural-exponential function $e^x$

Trait Implementations

impl Clone for BigDecimal
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Eq for BigDecimal
[src]

impl FromStr for BigDecimal
[src]

The associated error which can be returned from parsing.

Parses a string s to return a value of this type. Read more

impl Hash for BigDecimal
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl PartialOrd for BigDecimal
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for BigDecimal
[src]

Complete ordering implementation for BigDecimal

Example

use std::str::FromStr;

let a = bigdecimal::BigDecimal::from_str("-1").unwrap();
let b = bigdecimal::BigDecimal::from_str("1").unwrap();
assert!(a < b);
assert!(b > a);
let c = bigdecimal::BigDecimal::from_str("1").unwrap();
assert!(b >= c);
assert!(c >= b);
let d = bigdecimal::BigDecimal::from_str("10.0").unwrap();
assert!(d > c);
let e = bigdecimal::BigDecimal::from_str(".5").unwrap();
assert!(e < c);

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

impl PartialEq for BigDecimal
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Default for BigDecimal
[src]

Returns the "default value" for a type. Read more

impl Zero for BigDecimal
[src]

Returns the additive identity element of Self, 0. Read more

Returns true if self is equal to the additive identity.

impl One for BigDecimal
[src]

Returns the multiplicative identity element of Self, 1. Read more

Returns true if self is equal to the multiplicative identity. Read more

impl Add<BigDecimal> for BigDecimal
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl<'a> Add<&'a BigDecimal> for BigDecimal
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl<'a> Add<BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl<'a, 'b> Add<&'b BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl AddAssign<BigDecimal> for BigDecimal
[src]

Performs the += operation.

impl<'a> AddAssign<&'a BigDecimal> for BigDecimal
[src]

Performs the += operation.

impl Sub<BigDecimal> for BigDecimal
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a BigDecimal> for BigDecimal
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'b BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl SubAssign<BigDecimal> for BigDecimal
[src]

Performs the -= operation.

impl<'a> SubAssign<&'a BigDecimal> for BigDecimal
[src]

Performs the -= operation.

impl Mul<BigDecimal> for BigDecimal
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl<'a> Mul<&'a BigDecimal> for BigDecimal
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl<'a> Mul<BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl<'a, 'b> Mul<&'b BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl MulAssign<BigDecimal> for BigDecimal
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a BigDecimal> for BigDecimal
[src]

Performs the *= operation.

impl<'a> Div<f32> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for f32
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for f32
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<f64> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for f64
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for f64
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i8> for BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i8> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for i8
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for i8
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i16> for BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i16> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for i16
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for i16
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i32> for BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i32> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for i32
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for i32
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i64> for BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<i64> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for i64
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for i64
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<u8> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for u8
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for u8
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<u16> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for u16
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for u16
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<u32> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for u32
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for u32
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<u64> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for u64
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for u64
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<BigDecimal> for BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<&'a BigDecimal> for BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a> Div<BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, 'b> Div<&'b BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Rem<BigDecimal> for BigDecimal
[src]

The resulting type after applying the % operator.

Performs the % operation.

impl<'a> Rem<&'a BigDecimal> for BigDecimal
[src]

The resulting type after applying the % operator.

Performs the % operation.

impl<'a> Rem<BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the % operator.

Performs the % operation.

impl<'a, 'b> Rem<&'b BigDecimal> for &'a BigDecimal
[src]

The resulting type after applying the % operator.

Performs the % operation.

impl Neg for BigDecimal
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a BigDecimal
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Signed for BigDecimal
[src]

Computes the absolute value. Read more

The positive difference of two numbers. Read more

Returns the sign of the number. Read more

Returns true if the number is positive and false if the number is zero or negative.

Returns true if the number is negative and false if the number is zero or positive.

impl Display for BigDecimal
[src]

Formats the value using the given formatter. Read more

impl Debug for BigDecimal
[src]

Formats the value using the given formatter. Read more

impl Num for BigDecimal
[src]

Creates and initializes a BigDecimal.

impl ToPrimitive for BigDecimal
[src]

Converts the value of self to an i64.

Converts the value of self to an u64.

Converts the value of self to an f64.

Converts the value of self to an isize.

Converts the value of self to an i8.

Converts the value of self to an i16.

Converts the value of self to an i32.

Converts the value of self to an i128. Read more

Converts the value of self to a usize.

Converts the value of self to an u8.

Converts the value of self to an u16.

Converts the value of self to an u32.

Converts the value of self to an u128. Read more

Converts the value of self to an f32.

impl From<i64> for BigDecimal
[src]

Performs the conversion.

impl From<u64> for BigDecimal
[src]

Performs the conversion.

impl From<(BigInt, i64)> for BigDecimal
[src]

Performs the conversion.

impl From<u8> for BigDecimal
[src]

Performs the conversion.

impl From<u16> for BigDecimal
[src]

Performs the conversion.

impl From<u32> for BigDecimal
[src]

Performs the conversion.

impl From<i8> for BigDecimal
[src]

Performs the conversion.

impl From<i16> for BigDecimal
[src]

Performs the conversion.

impl From<i32> for BigDecimal
[src]

Performs the conversion.

impl From<f32> for BigDecimal
[src]

Performs the conversion.

impl From<f64> for BigDecimal
[src]

Performs the conversion.

impl FromPrimitive for BigDecimal
[src]

Convert an i64 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an u64 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert a f32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert a f64 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an isize to return an optional value of this type. If the value cannot be represented by this value, then None is returned. Read more

Convert an i8 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an i16 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an i32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an i128 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert a usize to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an u8 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an u16 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an u32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Convert an u128 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

impl ToBigInt for BigDecimal
[src]

Converts the value of self to a BigInt.

Auto Trait Implementations

impl Send for BigDecimal

impl Sync for BigDecimal