Trait num_traits::cast::NumCast
source · pub trait NumCast: Sized + ToPrimitive {
fn from<T: ToPrimitive>(n: T) -> Option<Self>;
}
Expand description
An interface for casting between machine scalars.
Required Methods§
sourcefn from<T: ToPrimitive>(n: T) -> Option<Self>
fn from<T: ToPrimitive>(n: T) -> Option<Self>
Creates a number from another value that can be converted into
a primitive via the ToPrimitive
trait. If the source value cannot be
represented by the target type, then None
is returned.
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.