Python 截断十进制值
我有以下PythonPython 截断十进制值,python,decimal,Python,Decimal,我有以下PythonDecimal变量: mydecimal = Decimal('1.452300') resolution = Decimal('0.0001') 以及以下分辨率变量: mydecimal = Decimal('1.452300') resolution = Decimal('0.0001') 如何仅使用这两个变量(这是我将在实际例程中获得的信息),将变量截断为分辨率值: #期望的结果: 截断的_mydecimal=Decimal('1.4523')#这就是该方法的用
Decimal
变量:
mydecimal = Decimal('1.452300')
resolution = Decimal('0.0001')
以及以下分辨率变量:
mydecimal = Decimal('1.452300')
resolution = Decimal('0.0001')
如何仅使用这两个变量(这是我将在实际例程中获得的信息),将变量截断为分辨率
值:
#期望的结果:
截断的_mydecimal=Decimal('1.4523')#这就是该方法的用途:
>>> mydecimal.quantize(resolution)
Decimal('1.4523')
阅读文档,或者
>>> help(mydecimal.quantize)
更多。注意:您的分辨率变量的精确值无关紧要-它是quantize()
关心的内部指数。例如,如果我们执行以下操作,上述输出不会发生任何变化:
>>> resolution = Decimal('0.0009')
相反。您的问题不太清楚,因为您没有解释“分辨率变量”是什么。它保证是十的幂吗?是否希望结果的小数位数与分辨率
相同?分辨率有4位小数,因此被截断的\u mydecimal将是mydecimal,只有4位小数。但分辨率可能是0.0005,在这种情况下,同样需要4位小数。