# 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]

Loading content...

## 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.

Loading content...

## Implementations on Foreign Types

### `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]

Loading content...

## Implementors

### `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]

#### `type FromStrRadixErr = ParseFloatError`

#### `fn from_str_radix(src: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>` [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]

#### `type FromStrRadixErr = ParseIntError`

#### `fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>` [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]

#### `type FromStrRadixErr = ParseIntError`

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

### `impl Num for i128` [src]

#### `type FromStrRadixErr = ParseIntError`

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

### `impl Num for isize` [src]

#### `type FromStrRadixErr = ParseIntError`

#### `fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>` [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]

#### `type FromStrRadixErr = ParseIntError`

#### `fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseIntError>` [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]

#### `type FromStrRadixErr = ParseIntError`

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

### `impl Num for u128` [src]

#### `type FromStrRadixErr = ParseIntError`

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

### `impl Num for usize` [src]

#### `type FromStrRadixErr = ParseIntError`

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

Loading content...