Trait bigdecimal::Num
source · [−]pub trait Num: PartialEq<Self> + Zero + One + NumOps<Self, Self> {
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
Required Methods
sourcefn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
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
sourceimpl Num for BigUint
impl Num for BigUint
sourcefn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
Creates and initializes a BigUint.
type FromStrRadixErr = ParseBigIntError
sourceimpl Num for BigInt
impl Num for BigInt
sourcefn from_str_radix(s: &str, radix: u32) -> Result<BigInt, ParseBigIntError>
fn from_str_radix(s: &str, radix: u32) -> Result<BigInt, ParseBigIntError>
Creates and initializes a BigInt.