from types import StringType
def mantissa_length(string):
'''>>> mantissa_length("2.05645e+07")
6
>>> mantissa_length("2.05645e+01")
6'''
assert type(string) is StringType, "this function fails for float values"
digits = Decimal(string).as_tuple().digits
return len(''.join([str(x) for x in digits]).rstrip('0'))
稍微不那么老套,但还是可以改进的:
通过检查thanks to @Mark Dickinson更易读一点
相关问题 更多 >
编程相关推荐