pub trait ToPrimitive {
Show 14 methods 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> { ... }
}
Expand description

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

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

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

Provided methods

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

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

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

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

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.

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

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

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

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

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.

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.

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.

Implementations on Foreign Types

Implementors