33 if not isinstance(x, int)
and not isinstance(x, long):
34 raise TypeError,
'invalid argument type (must be int or long)'
35 if not isinstance(decimal_digits, int):
36 raise TypeError,
'number of decimals must be an integer'
37 if decimal_digits < 0:
38 raise ValueError,
'number of decimals must be non-negative'
48 if decimal_digits == 0:
53 if len(s) < decimal_digits:
54 s =
'0' * (decimal_digits - len(s)) + s
55 s0 = s[:-decimal_digits]
56 s1 = s[-decimal_digits:]
58 if s1 ==
'0' * decimal_digits:
63 return sign + s0 +
'.' + s1.rstrip(
'0')
75 if not isinstance(s, str)
and not isinstance(s, unicode):
76 raise TypeError,
'invalid argument type (must be str or unicode)'
77 if not isinstance(decimal_digits, int):
78 raise TypeError,
'number of decimals must be an integer'
79 if decimal_digits < 0:
80 raise ValueError,
'number of decimals must be non-negative'
91 if decimal_digits == 0:
105 if not s0
and not s1:
107 if len(s1) < decimal_digits:
108 s1 = s1 + (decimal_digits - len(s1)) *
'0'
110 if len(s1) > decimal_digits:
114 if c
not in '0123456789':
122 return sign * (int(s0) * 10 ** decimal_digits + int(s1))
def parse
Convert a fixed-point string representation to an integer.
def format
Convert an integer to its fixed-point string representation.