pub fn sub(self, other: Self) -> Result<Self, NumberError> {
        if let (Ok(a), Ok(b)) = (self.try_as_i128(), other.try_as_i128()) {
            if let Some(c) = a.checked_sub(b) {
                return Ok(Self(N::I(c)));
            }
        }
        Self::try_from(f64::from(self) - f64::from(other))
    }
/// Subtracts this number from another number.
Subtracts this number from another number.
Subtracts this number from another number .
pub fn sub(self, other: Self) -> Result<Self, NumberError> {
        if let (Ok(a), Ok(b)) = (self.try_as_i128(), other.try_as_i128()) {
            if let Some(c) = a.checked_sub(b) {
                return Ok(Self(N::I(c)));
            }
        }
        Self::try_from(f64::from(self) - f64::from(other))
    }
pub fn sub ( self , other : Self ) -> Result < Self , NumberError > { if let ( Ok ( a ) , Ok ( b ) ) = ( self . try_as_i128 ( ) , other . try_as_i128 ( ) ) { if let Some ( c ) = a . checked_sub ( b ) { return Ok ( Self ( N :: I ( c ) ) ) ; } } Self :: try_from ( f64 :: from ( self ) - f64 :: from ( other ) ) }
Subtracts this number from another number.
Subtracts this number from another number .
self
other
Self
self
other
Self