Struct claude::Currency[][src]

pub struct Currency {
    pub symbol: Option<Symbol>,
    pub value: i64,
}
Expand description

Represents currency through an optional symbol and amount of coin.

Each 100 coins results in a banknote. (100 is formatted as 1.00) The currency will be formatted as such: Currency(Some('$'), 432) ==> “$4.32”

Fields

symbol: Option<Symbol>

Currency symbol

pick any of , £, $, ¥ etc…

value: i64

value in the smallest possible unit

Implementations

impl Currency[src]

pub fn new() -> Currency[src]

Creates a blank Currency as Currency(None, 0)

Examples

let mut c = Currency::new();

pub fn from_value(value: i64) -> Currency[src]

Initialize from i64

pub fn postfix(&self) -> Postfix<'_>[src]

Returns an object that implements Display for different methods of printing currency.

pub fn prefix(&self) -> Prefix<'_>[src]

Returns an object that implements Display for different methods of printing currency.

pub fn as_float(&self) -> f64[src]

pub fn value(&self) -> i64[src]

Returns the inner value

pub fn symbol(&self) -> Option<Symbol>[src]

Returns the inner symbol

Methods from Deref<Target = i64>

pub const MIN: i641.43.0[src]

pub const MAX: i641.43.0[src]

pub const BITS: u321.53.0[src]

pub fn as_ne_bytes(&self) -> &[u8; 8][src]

🔬 This is a nightly-only experimental API. (num_as_ne_bytes)

Return the memory representation of this integer as a byte array in native byte order.

to_ne_bytes should be preferred over this whenever possible.

Examples

#![feature(num_as_ne_bytes)]
let num = 0x1234567890123456i64;
let bytes = num.as_ne_bytes();
assert_eq!(
    bytes,
    if cfg!(target_endian = "big") {
        &[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]
    } else {
        &[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]
    }
);

Trait Implementations

impl Add<Currency> for Currency[src]

Overloads the ‘+’ operator for Currency objects.

Panics

Panics if the two addends are different types of currency, as denoted by the Currency’s symbol.

type Output = Currency

The resulting type after applying the + operator.

fn add(self, rhs: Currency) -> Currency[src]

Performs the + operation. Read more

impl Clone for Currency[src]

fn clone(&self) -> Currency[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Currency[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Default for Currency[src]

fn default() -> Self[src]

Returns the “default value” for a type. Read more

impl Deref for Currency[src]

Required for DerefMut

type Target = i64

The resulting type after dereferencing.

fn deref(&self) -> &i64[src]

Dereferences the value.

impl Div<i64> for Currency[src]

Overloads the ‘/’ operator for Currency objects.

Allows a Currency to be divided by an i64.

type Output = Currency

The resulting type after applying the / operator.

fn div(self, rhs: i64) -> Currency[src]

Performs the / operation. Read more

impl From<(char, i64)> for Currency[src]

fn from(tpl: (Symbol, i64)) -> Currency[src]

converts from a tuple of symbol and i64

impl From<(i64, char)> for Currency[src]

fn from(tpl: (i64, Symbol)) -> Currency[src]

converts from a tuple of i64 and symbol

impl From<i64> for Currency[src]

fn from(value: i64) -> Currency[src]

converts from a i64

impl Mul<Currency> for i64[src]

Overloads the ‘*’ operator for i64.

Allows an i64 to be multiplied by a Currency. Completes the commutative property for i64 multiplied by Currency.

type Output = Currency

The resulting type after applying the * operator.

fn mul(self, rhs: Currency) -> Currency[src]

Performs the * operation. Read more

impl Mul<f64> for Currency[src]

Multiplies with float, probably not a good idea, help appreciated.

type Output = Currency

The resulting type after applying the * operator.

fn mul(self, rhs: f64) -> Currency[src]

Performs the * operation. Read more

impl Mul<i64> for Currency[src]

Overloads the ‘*’ operator for Currency objects.

Allows a Currency to be multiplied by an i64.

type Output = Currency

The resulting type after applying the * operator.

fn mul(self, rhs: i64) -> Currency[src]

Performs the * operation. Read more

impl PartialEq<Currency> for Currency[src]

fn eq(&self, other: &Currency) -> bool[src]

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

fn ne(&self, other: &Currency) -> bool[src]

This method tests for !=.

impl PartialOrd<Currency> for Currency[src]

fn partial_cmp(&self, other: &Currency) -> Option<Ordering>[src]

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

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

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

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

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

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

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

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

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

impl Sub<Currency> for Currency[src]

Overloads the ‘-’ operator for Currency objects.

Panics

Panics if the minuend and subtrahend are two different types of currency, as denoted by the Currency’s symbol.

type Output = Currency

The resulting type after applying the - operator.

fn sub(self, rhs: Currency) -> Currency[src]

Performs the - operation. Read more

impl Copy for Currency[src]

impl Eq for Currency[src]

impl StructuralEq for Currency[src]

impl StructuralPartialEq for Currency[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.