def __init__(self, value: (str, int, float), precision: int = <NUM_LIT:2>):
self.precision = precision<EOL>if isinstance(value, str):<EOL><INDENT>suffix_keys = [key for key in _suffix_lookup.keys() if key != '<STR_LIT>']<EOL>for suffix in suffix_keys:<EOL><INDENT>if suffix in value:<EOL><INDENT>value = value[:-<NUM_LIT:1>] + _suffix_lookup[suffix]<EOL>break<EOL><DEDENT><DEDENT>self.number = Decimal(value)<EOL><DEDENT>elif (isinstance(value, int)<EOL>or isinstance(value, float)<EOL>or isinstance(value, EngNumber)):<EOL><INDENT>self.number = Decimal(str(value))<EOL><DEDENT>
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