Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在不使用全局上下文的情况下对十进制数进行四舍五入?_Python_Python 3.x_Decimal - Fatal编程技术网

Python 如何在不使用全局上下文的情况下对十进制数进行四舍五入?

Python 如何在不使用全局上下文的情况下对十进制数进行四舍五入?,python,python-3.x,decimal,Python,Python 3.x,Decimal,使用python 3.6 我可以看出,我们可以指定舍入和精度,但它只能通过设置上下文来全局指定 如何对特定的十进制实例执行此操作 类似于以下伪代码: myNumber = Decimal(1.101901) roundedNumber = myNumber.toFixed(2, ROUND_DOWN) # expected result ==> 1.10 roundedNumber = myNumber.toFixed(2, ROUND_UP) # expected result ==&

使用python 3.6

我可以看出,我们可以指定舍入和精度,但它只能通过设置上下文来全局指定

如何对特定的十进制实例执行此操作

类似于以下伪代码:

myNumber = Decimal(1.101901)
roundedNumber = myNumber.toFixed(2, ROUND_DOWN)
# expected result ==> 1.10
roundedNumber = myNumber.toFixed(2, ROUND_UP)
# expected result ==> 1.11
因此,我可以用我想要的舍入和精度解析每个数字。

使用该方法


对我来说,还不清楚预期的产出。你能澄清一下吗?我希望这个小数可以用特定的精度和特定的舍入选项来解析。我编辑了这个问题。你可以使用这个方法作为旁白,如果可以的话,你不应该将
float
对象直接输入
Decimal
。使用
quantize
的示例代码,如@snakecharmerb:myNumber=Decimal(1.101901)打印(myNumber.quantize(Decimal('1.00'),舍入=向下舍入))打印(myNumber.quantize(十进制('1.00'),四舍五入=四舍五入)
from decimal import *

myNumber = Decimal(1.101901)
roundedNumber = myNumber.quantize(Decimal('1.00'), rounding=ROUND_DOWN) # 1.10
roundedNumber = myNumber.quantize(Decimal('1.00'), rounding=ROUND_UP)   # 1.11