Trait num_traits::cast::FromPrimitive
source · [−]pub trait FromPrimitive: Sized {
Show 14 methods
fn from_i64(n: i64) -> Option<Self>;
fn from_u64(n: u64) -> Option<Self>;
fn from_isize(n: isize) -> Option<Self> { ... }
fn from_i8(n: i8) -> Option<Self> { ... }
fn from_i16(n: i16) -> Option<Self> { ... }
fn from_i32(n: i32) -> Option<Self> { ... }
fn from_i128(n: i128) -> Option<Self> { ... }
fn from_usize(n: usize) -> Option<Self> { ... }
fn from_u8(n: u8) -> Option<Self> { ... }
fn from_u16(n: u16) -> Option<Self> { ... }
fn from_u32(n: u32) -> Option<Self> { ... }
fn from_u128(n: u128) -> Option<Self> { ... }
fn from_f32(n: f32) -> Option<Self> { ... }
fn from_f64(n: f64) -> Option<Self> { ... }
}
Expand description
A generic trait for converting a number to a value.
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 an i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Provided methods
fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
This method is only available with feature i128
enabled on Rust >= 1.26.
The default implementation converts through from_i64()
. Types implementing
this trait should override this method if they can represent a greater range.
fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts an u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
This method is only available with feature i128
enabled on Rust >= 1.26.
The default implementation converts through from_u64()
. Types implementing
this trait should override this method if they can represent a greater range.
Converts a f32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
Converts a f64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.
The default implementation tries to convert through from_i64()
, and
failing that through from_u64()
. Types implementing this trait should
override this method if they can represent a greater range.