Function ethers_core::utils::parse_units
source · pub fn parse_units<K, S>(
amount: S,
units: K
) -> Result<ParseUnits, ConversionError>where
S: ToString,
K: TryInto<Units, Error = ConversionError> + Copy,
Expand description
Multiplies the provided amount with 10^{units} provided.
use ethers_core::{types::U256, utils::parse_units};
let amount_in_eth = U256::from_dec_str("15230001000000000000").unwrap();
let amount_in_gwei = U256::from_dec_str("15230001000").unwrap();
let amount_in_wei = U256::from_dec_str("15230001000").unwrap();
assert_eq!(amount_in_eth, parse_units("15.230001000000000000", "ether").unwrap().into());
assert_eq!(amount_in_gwei, parse_units("15.230001000000000000", "gwei").unwrap().into());
assert_eq!(amount_in_wei, parse_units("15230001000", "wei").unwrap().into());
Example of trying to parse decimal WEI, which should fail, as WEI is the smallest ETH denominator. 1 ETH = 10^18 WEI.
ⓘ
use ethers_core::{types::U256, utils::parse_units};
let amount_in_wei = U256::from_dec_str("15230001000").unwrap();
assert_eq!(amount_in_wei, parse_units("15.230001000000000000", "wei").unwrap().into());