def __init__(self, value: (str, int, float), precision: int = 2):
        """
        Initialize the class

        :param value: string, integer, or float representing
        the numeric value of the number
        :param precision: the precision past the decimal - default to 2
        """
        self.precision = precision

        if isinstance(value, str):
            suffix_keys = [key for key in _suffix_lookup.keys() if key != '']

            for suffix in suffix_keys:
                if suffix in value:
                    value = value[:-1] + _suffix_lookup[suffix]
                    break

            self.number = Decimal(value)

        elif (isinstance(value, int)
              or isinstance(value, float)
              or isinstance(value, EngNumber)):
            self.number = Decimal(str(value))
def __init__ ( self , value : ( str , int , float ) , precision : int = 2 ) : self . precision = precision if isinstance ( value , str ) : suffix_keys = [ key for key in _suffix_lookup . keys ( ) if key != '' ] for suffix in suffix_keys : if suffix in value : value = value [ : - 1 ] + _suffix_lookup [ suffix ] break self . number = Decimal ( value ) elif ( isinstance ( value , int ) or isinstance ( value , float ) or isinstance ( value , EngNumber ) ) : self . number = Decimal ( str ( value ) )
Initialize the class

        :param value: string, integer, or float representing
        the numeric value of the number
        :param precision: the precision past the decimal - default to 2