Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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中如何将数字四舍五入到x位小数?_Python - Fatal编程技术网

在python中如何将数字四舍五入到x位小数?

在python中如何将数字四舍五入到x位小数?,python,Python,我想把python中的小数点后2位的数字汇总起来?我该怎么做?我尝试了几件事,但都失败了 所以 (-0.012803683)将为-0.02 0.478078191等于0.48 0.450779926将为0.46 这个问题是关于“汇总”的,它与“汇总”更为不同,下面的函数适用于所有示例 def roundup(x, places): d = 10 ** places if x < 0: return math.floor(x * d) / d else: re

我想把python中的小数点后2位的数字汇总起来?我该怎么做?我尝试了几件事,但都失败了

所以

  • (-0.012803683)将为-0.02
  • 0.478078191等于0.48
  • 0.450779926将为0.46

这个问题是关于“汇总”的,它与“汇总”更为不同,下面的函数适用于所有示例

def roundup(x, places):
  d = 10 ** places
  if x < 0:
    return math.floor(x * d) / d
  else:
    return math.ceil(x * d) / d

>>> roundup(-0.012803683, 2)
-0.02
>>> roundup(0.478078191, 2)
0.48
>>> roundup(0.450779926, 2)
0.46
def综述(x处):
d=10个**位置
如果x<0:
返回数学楼层(x*d)/d
其他:
返回math.ceil(x*d)/d
>>>综述(-0.012803683,2)
-0.02
>>>综述(0.478078191,2)
0.48
>>>综述(0.450779926,2)
0.46

以下函数适用于所有示例

def roundup(x, places):
  d = 10 ** places
  if x < 0:
    return math.floor(x * d) / d
  else:
    return math.ceil(x * d) / d

>>> roundup(-0.012803683, 2)
-0.02
>>> roundup(0.478078191, 2)
0.48
>>> roundup(0.450779926, 2)
0.46
def综述(x处):
d=10个**位置
如果x<0:
返回数学楼层(x*d)/d
其他:
返回math.ceil(x*d)/d
>>>综述(-0.012803683,2)
-0.02
>>>综述(0.478078191,2)
0.48
>>>综述(0.450779926,2)
0.46
您可以尝试以下方法:

import decimal

num = decimal.Decimal(-0.012803683).quantize(
          decimal.Decimal('.01'), rounding=decimal.ROUND_UP)
print(num)
您可以尝试以下方法:

import decimal

num = decimal.Decimal(-0.012803683).quantize(
          decimal.Decimal('.01'), rounding=decimal.ROUND_UP)
print(num)
这就是我要做的,但尽管这对正数有效,但对于我在abouve代码中输入的数字,它给出了A=-0.01。如果将-0.012803683四舍五入,则会得到-0.01,那么这是一个错误示例吗?或者如果是负数,你想四舍五入吗

from math import ceil
Round=lambda a:ceil(a*100)/100
将允许您执行以下操作:

>>> Round(-0.012803683)
-0.01
>>> Round(0.478078191)
0.48
>>> Round(0.450779926)
0.46
这就是我要做的,但尽管这对正数有效,但对于我在abouve代码中输入的数字,它给出了A=-0.01。如果将-0.012803683四舍五入,则会得到-0.01,那么这是一个错误示例吗?或者如果是负数,你想四舍五入吗

from math import ceil
Round=lambda a:ceil(a*100)/100
将允许您执行以下操作:

>>> Round(-0.012803683)
-0.01
>>> Round(0.478078191)
0.48
>>> Round(0.450779926)
0.46

请考虑添加一个代码示例,或者修改您在这个问题中发布的代码。目前,它的格式和范围使我们很难帮助您;这是一个让你开始学习的方法。祝你的代码好运@ReblochonMasque,我认为这个问题是很好的,不需要张贴任何代码。这不是一个小事,因为这是关于舍入,远离零。@阿尔曼这不是复制的回合不同于圆向下,并且你的链接中的一些答案是错误的,请考虑添加代码示例,或修改你在这个问题中张贴的一个。目前,它的格式和范围使我们很难帮助您;这是一个让你开始学习的方法。祝你的代码好运@ReblochonMasque我认为这个问题的格式很好,不需要发布任何代码。这不是一个重复,因为这是关于舍入,远离零。@Arman这不是重复的舍入,不同于舍入,你的链接中的一些答案是错误的为什么投反对票?我想这是因为你的早期版本有错误。为什么投反对票?我想这是因为你的早期版本有错误。