python - 在python中查找十进制数的小数部分的位数

标签 python numbers decimal

在 python 中给定一个 Decimal 数字,我如何找到小数点后的位数?

assert digits(Decimal('1.2345')) == 4
assert digits(Decimal('1000'))   == 0
assert digits(Decimal('1.00'))   == 2
assert digits(Decimal('1E+5'))   == 0
assert digits(Decimal('1.2E+5')) == 0

最佳答案

经过一些实验,这似乎可以正常工作:

def digits(n):
    return max(0,-n.as_tuple().exponent)

关于python - 在python中查找十进制数的小数部分的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16794753/

相关文章:

python - 使用 cross_val_predict sklearn 计算评估指标

python - 在numpy中找到两个多边形之间的距离

python - 使用 nditer 进行浅层迭代

python - n 个数字的最小公倍数,使用递归

c# - 在字典中查找最接近给定值的值 C#

c++ - 如何正确传递小数值作为参数

python - jinja flask 和循环属性

replace - 使用Notepad++将数字替换为某种格式

python - pandas.read_html 不支持十进制逗号

c# - .NET decimal.Negate 与乘以 -1