gpt4 book ai didi

python - 如何将 float 舍入到给定的精度?

转载 作者:太空狗 更新时间:2023-10-30 00:31:30 25 4
gpt4 key购买 nike

我需要一种方法将 float 四舍五入到给定的小数位数,但我希望始终向下舍入。

例如,代替

>>> round(2.667, 2)
2.67

我宁愿拥有

>>> round_down(2.667, 2)
2.66

最佳答案

你有一个 friend 在 quantizeROUND_FLOOR

>>> from decimal import Decimal,ROUND_FLOOR
>>> float(Decimal(str(2.667)).quantize(Decimal('.01'), rounding=ROUND_FLOOR))
2.66
>>> float(Decimal(str(-2.667)).quantize(Decimal('.01'), rounding=ROUND_FLOOR))
-2.67

请注意,您可以使用 ROUND_DOWN对于正数。正如 interjay 提到的 in a comment , ROUND_DOWN 向零舍入 因此可能会为负数返回不正确的值。

>>> from decimal import Decimal,ROUND_DOWN
>>> Decimal(str(2.667)).quantize(Decimal('.01'), rounding=ROUND_DOWN)
Decimal('2.66')
>>> float(Decimal(str(2.667)).quantize(Decimal('.01'), rounding=ROUND_DOWN))
2.66

关于python - 如何将 float 舍入到给定的精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37712306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com