# Trait num_traits::cast::ToPrimitive [−] [src]

    pub trait ToPrimitive {
        fn to_i64(&self) -> Option<i64>;
        fn to_u64(&self) -> Option<u64>;

        fn to_isize(&self) -> Option<isize> { ... }
        fn to_i8(&self) -> Option<i8> { ... }
        fn to_i16(&self) -> Option<i16> { ... }
        fn to_i32(&self) -> Option<i32> { ... }
        fn to_i128(&self) -> Option<i128> { ... }
        fn to_usize(&self) -> Option<usize> { ... }
        fn to_u8(&self) -> Option<u8> { ... }
        fn to_u16(&self) -> Option<u16> { ... }
        fn to_u32(&self) -> Option<u32> { ... }
        fn to_u128(&self) -> Option<u128> { ... }
        fn to_f32(&self) -> Option<f32> { ... }
        fn to_f64(&self) -> Option<f64> { ... }
    }

A generic trait for converting a value to a number.

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.

## Required methods

### `fn to_i64(&self) -> Option<i64>` [src]

Converts the value of `self` to an `i64`. If the value cannot be represented by an `i64`, then `None` is returned.

### `fn to_u64(&self) -> Option<u64>` [src]

Converts the value of `self` to a `u64`. If the value cannot be represented by a `u64`, then `None` is returned.

Loading content...

## Provided methods

### `fn to_isize(&self) -> Option<isize>` [src]

Converts the value of `self` to an `isize`. If the value cannot be represented by an `isize`, then `None` is returned.

### `fn to_i8(&self) -> Option<i8>` [src]

Converts the value of `self` to an `i8`. If the value cannot be represented by an `i8`, then `None` is returned.

### `fn to_i16(&self) -> Option<i16>` [src]

Converts the value of `self` to an `i16`. If the value cannot be represented by an `i16`, then `None` is returned.

### `fn to_i32(&self) -> Option<i32>` [src]

Converts the value of `self` to an `i32`. If the value cannot be represented by an `i32`, then `None` is returned.

### `fn to_i128(&self) -> Option<i128>` [src]

Converts the value of `self` to an `i128`. If the value cannot be represented by an `i128` (`i64` under the default implementation), then `None` is returned.

This method is only available with feature `i128` enabled on Rust >= 1.26.

The default implementation converts through `to_i64()`. Types implementing this trait should override this method if they can represent a greater range.

### `fn to_usize(&self) -> Option<usize>` [src]

Converts the value of `self` to a `usize`. If the value cannot be represented by a `usize`, then `None` is returned.

### `fn to_u8(&self) -> Option<u8>` [src]

Converts the value of `self` to a `u8`. If the value cannot be represented by a `u8`, then `None` is returned.

### `fn to_u16(&self) -> Option<u16>` [src]

Converts the value of `self` to a `u16`. If the value cannot be represented by a `u16`, then `None` is returned.

### `fn to_u32(&self) -> Option<u32>` [src]

Converts the value of `self` to a `u32`. If the value cannot be represented by a `u32`, then `None` is returned.

### `fn to_u128(&self) -> Option<u128>` [src]

Converts the value of `self` to a `u128`. If the value cannot be represented by a `u128` (`u64` under the default implementation), then `None` is returned.

This method is only available with feature `i128` enabled on Rust >= 1.26.

The default implementation converts through `to_u64()`. Types implementing this trait should override this method if they can represent a greater range.

### `fn to_f32(&self) -> Option<f32>` [src]

Converts the value of `self` to an `f32`. Overflows may map to positive or negative inifinity, otherwise `None` is returned if the value cannot be represented by an `f32`.

### `fn to_f64(&self) -> Option<f64>` [src]

Converts the value of `self` to an `f64`. Overflows may map to positive or negative inifinity, otherwise `None` is returned if the value cannot be represented by an `f64`.

The default implementation tries to convert through `to_i64()`, and failing that through `to_u64()`. Types implementing this trait should override this method if they can represent a greater range.

Loading content...

## Implementations on Foreign Types

### `impl<T: ToPrimitive> ToPrimitive for Wrapping<T>` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

Loading content...

## Implementors

### `impl ToPrimitive for f32` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for f64` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for i8` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for i16` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for i32` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for i64` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

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

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

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

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for u8` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for u16` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for u32` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

### `impl ToPrimitive for u64` [src]

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

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

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

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

#### `fn to_isize(&self) -> Option<isize>` [src]

#### `fn to_i8(&self) -> Option<i8>` [src]

#### `fn to_i16(&self) -> Option<i16>` [src]

#### `fn to_i32(&self) -> Option<i32>` [src]

#### `fn to_i64(&self) -> Option<i64>` [src]

#### `fn to_i128(&self) -> Option<i128>` [src]

#### `fn to_usize(&self) -> Option<usize>` [src]

#### `fn to_u8(&self) -> Option<u8>` [src]

#### `fn to_u16(&self) -> Option<u16>` [src]

#### `fn to_u32(&self) -> Option<u32>` [src]

#### `fn to_u64(&self) -> Option<u64>` [src]

#### `fn to_u128(&self) -> Option<u128>` [src]

#### `fn to_f32(&self) -> Option<f32>` [src]

#### `fn to_f64(&self) -> Option<f64>` [src]

Loading content...