[][src]Trait num_traits::cast::ToPrimitive

pub trait ToPrimitive {
    fn to_i64(&self) -> Option<i64>;
fn to_u64(&self) -> Option<u64>; fn to_isize(&self) -> Option<isize> { ... }
fn to_i8(&self) -> Option<i8> { ... }
fn to_i16(&self) -> Option<i16> { ... }
fn to_i32(&self) -> Option<i32> { ... }
fn to_i128(&self) -> Option<i128> { ... }
fn to_usize(&self) -> Option<usize> { ... }
fn to_u8(&self) -> Option<u8> { ... }
fn to_u16(&self) -> Option<u16> { ... }
fn to_u32(&self) -> Option<u32> { ... }
fn to_u128(&self) -> Option<u128> { ... }
fn to_f32(&self) -> Option<f32> { ... }
fn to_f64(&self) -> Option<f64> { ... } }

A generic trait for converting a value to a number.

A value can be represented by the target type when it lies within the range of scalars supported by the target type. For example, a negative integer cannot be represented by an unsigned integer type, and an i64 with a very high magnitude might not be convertible to an i32. On the other hand, conversions with possible precision loss or truncation are admitted, like an f32 with a decimal part to an integer type, or even a large f64 saturating to f32 infinity.

Required methods

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be represented by an i64, then None is returned.

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be represented by a u64, then None is returned.

Loading content...

Provided methods

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be represented by an isize, then None is returned.

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be represented by an i8, then None is returned.

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be represented by an i16, then None is returned.

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be represented by an i32, then None is returned.

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be represented by an i128 (i64 under the default implementation), then None is returned.

This method is only available with feature i128 enabled on Rust >= 1.26.

The default implementation converts through to_i64(). Types implementing this trait should override this method if they can represent a greater range.

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be represented by a usize, then None is returned.

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be represented by a u8, then None is returned.

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned.

This method is only available with feature i128 enabled on Rust >= 1.26.

The default implementation converts through to_u64(). Types implementing this trait should override this method if they can represent a greater range.

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f32.

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f64.

The default implementation tries to convert through to_i64(), and failing that through to_u64(). Types implementing this trait should override this method if they can represent a greater range.

Loading content...

Implementations on Foreign Types

impl<T: ToPrimitive> ToPrimitive for Wrapping<T>[src]

Loading content...

Implementors

impl ToPrimitive for f32[src]

impl ToPrimitive for f64[src]

impl ToPrimitive for i8[src]

impl ToPrimitive for i16[src]

impl ToPrimitive for i32[src]

impl ToPrimitive for i64[src]

impl ToPrimitive for i128[src]

impl ToPrimitive for isize[src]

impl ToPrimitive for u8[src]

impl ToPrimitive for u16[src]

impl ToPrimitive for u32[src]

impl ToPrimitive for u64[src]

impl ToPrimitive for u128[src]

impl ToPrimitive for usize[src]

Loading content...