Trait num_traits::Num [−][src]
pub trait Num: PartialEq + Zero + One + NumOps { type FromStrRadixErr; fn from_str_radix(
str: &str,
radix: u32
) -> Result<Self, Self::FromStrRadixErr>; }
The base trait for numeric types, covering 0 and 1 values,
comparisons, basic numeric operations, and string conversion.
Associated Types
type FromStrRadixErr[src]
Required methods
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>[src]
Convert from a string and radix (typically 2..=36).
Examples
use num_traits::Num; let result = <i32 as Num>::from_str_radix("27", 10); assert_eq!(result, Ok(27)); let result = <i32 as Num>::from_str_radix("foo", 10); assert!(result.is_err());
Supported radices
The exact range of supported radices is at the discretion of each type implementation. For
primitive integers, this is implemented by the inherent from_str_radix methods in the
standard library, which panic if the radix is not in the range from 2 to 36. The
implementation in this crate for primitive floats is similar.
For third-party types, it is suggested that implementations should follow suit and at least
accept 2..=36 without panicking, but an Err may be returned for any unsupported radix.
It’s possible that a type might not even support the common radix 10, nor any, if string
parsing doesn’t make sense for that type.
Implementations on Foreign Types
impl Num for usize[src]
impl Num for usize[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for u8[src]
impl Num for u8[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for u16[src]
impl Num for u16[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for u32[src]
impl Num for u32[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for u64[src]
impl Num for u64[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for isize[src]
impl Num for isize[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for i8[src]
impl Num for i8[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for i16[src]
impl Num for i16[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for i32[src]
impl Num for i32[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for i64[src]
impl Num for i64[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for u128[src]
impl Num for u128[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl Num for i128[src]
impl Num for i128[src]type FromStrRadixErr = ParseIntError
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>[src]
impl<T: Num> Num for Wrapping<T> where
Wrapping<T>: Add<Output = Wrapping<T>> + Sub<Output = Wrapping<T>> + Mul<Output = Wrapping<T>> + Div<Output = Wrapping<T>> + Rem<Output = Wrapping<T>>, [src]
impl<T: Num> Num for Wrapping<T> where
Wrapping<T>: Add<Output = Wrapping<T>> + Sub<Output = Wrapping<T>> + Mul<Output = Wrapping<T>> + Div<Output = Wrapping<T>> + Rem<Output = Wrapping<T>>, [src]type FromStrRadixErr = T::FromStrRadixErr
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>[src]
impl Num for f32[src]
impl Num for f32[src]type FromStrRadixErr = ParseFloatError
fn from_str_radix(src: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>[src]
impl Num for f64[src]
impl Num for f64[src]