Num in num_traits - Rust
Description: The base trait for numeric types, covering `0` and `1` values, comparisons, basic numeric operations, and string conversion.
Keywords: rust, rustlang, rust-lang, Num

# Trait num_traits::Num

source ·

    pub trait Num: PartialEq + Zero + One + NumOps {
        type FromStrRadixErr;

        fn from_str_radix(
            str: &str,
            radix: u32
        ) -> Result<Self, Self::FromStrRadixErr>;
    }

Expand description

The base trait for numeric types, covering `0` and `1` values, comparisons, basic numeric operations, and string conversion.

## Required Associated Types§

source

#### type FromStrRadixErr

## Required Methods§

source

#### fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>

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§

source§

### impl Num for usize

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for u8

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for u16

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for u32

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for u64

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for isize

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for i8

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for i16

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for i32

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for i64

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for u128

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl Num for i128

§

#### type FromStrRadixErr = ParseIntError

source§

#### fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>

source§

### impl<T: Num> Num for Wrapping<T>where
Wrapping<T>: NumOps,

§

#### type FromStrRadixErr = <T as Num>::FromStrRadixErr

source§

#### fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>

source§

### impl Num for f32

§

#### type FromStrRadixErr = ParseFloatError

source§

#### fn from_str_radix(src: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>

source§

### impl Num for f64

§

#### type FromStrRadixErr = ParseFloatError

source§

#### fn from_str_radix(src: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>

## Implementors§