pub trait NumCast: Sized + ToPrimitive {
// Required method
fn from<T>(n: T) -> Option<Self>
where T: ToPrimitive;
}
Expand description
An interface for casting between machine scalars.
Required Methods§
sourcefn from<T>(n: T) -> Option<Self>where
T: ToPrimitive,
fn from<T>(n: T) -> Option<Self>where T: ToPrimitive,
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.