Function parse_units
pub fn parse_units<K, E>(
amount: &str,
units: K,
) -> Result<ParseUnits, UnitsError>
Expand description
Parses a decimal number and multiplies it with 10^units.
§Examples
use alloy_primitives::{U256, utils::parse_units};
let amount_in_eth = U256::from_str_radix("15230001000000000000", 10).unwrap();
let amount_in_gwei = U256::from_str_radix("15230001000", 10).unwrap();
let amount_in_wei = U256::from_str_radix("15230001000", 10).unwrap();
assert_eq!(
amount_in_eth,
<U256 as From<_>>::from(parse_units("15.230001000000000000", "ether").unwrap())
);
assert_eq!(
amount_in_gwei,
<U256 as From<_>>::from(parse_units("15.230001000000000000", "gwei").unwrap())
);
assert_eq!(amount_in_wei, <U256 as From<_>>::from(parse_units("15230001000", "wei").unwrap()));
Example of trying to parse decimal WEI, which should fail, as WEI is the smallest ETH denominator. 1 ETH = 10^18 WEI.
ⓘ
use alloy_primitives::{U256, utils::parse_units};
let amount_in_wei = U256::from_str_radix("15230001000", 10).unwrap();
assert_eq!(
amount_in_wei,
<U256 as From<_>>::from(parse_units("15.230001000000000000", "wei").unwrap())
);