草庐IT

Rounding

全部标签

Python - 四舍五入到最接近的十位

这个问题在这里已经有了答案:Pythonroundupintegertonexthundred(10个回答)Roundintegerstothenearest10(7个回答)关闭7年前。如果我得到数字46,我想四舍五入到最接近的十位。如何在python中做到这一点?46变为50。 最佳答案 round确实采用负ndigits参数!>>>round(46,-1)50可以解决你的问题。 关于Python-四舍五入到最接近的十位,我们在StackOverflow上找到一个类似的问题:

python - 如何正确舍入半 float ?

我正面临round()函数的奇怪行为:foriinrange(1,15,2):n=i/2print(n,"=>",round(n))此代码打印:0.5=>01.5=>22.5=>23.5=>44.5=>45.5=>66.5=>6我希望浮点值总是向上取整,但相反,它被四舍五入到最接近的偶数。为什么会出现这种行为,获得正确结果的最佳方法是什么?我尝试使用fractions但结果是一样的。 最佳答案 NumericTypessection明确记录此行为:round(x[,n])xroundedtondigits,roundinghalft

python - 如何正确舍入半 float ?

我正面临round()函数的奇怪行为:foriinrange(1,15,2):n=i/2print(n,"=>",round(n))此代码打印:0.5=>01.5=>22.5=>23.5=>44.5=>45.5=>66.5=>6我希望浮点值总是向上取整,但相反,它被四舍五入到最接近的偶数。为什么会出现这种行为,获得正确结果的最佳方法是什么?我尝试使用fractions但结果是一样的。 最佳答案 NumericTypessection明确记录此行为:round(x[,n])xroundedtondigits,roundinghalft

python - 如何在 Python 3 中用前导零填充字符串

这个问题在这里已经有了答案:HowdoIpadastringwithzeroes?(19个回答)关闭3年前。我正在尝试在Python3中制作length=001但每当我尝试将其打印出来时,它都会截断没有前导零的值(length=1).我将如何阻止这种情况发生而不必在打印出来之前将length转换为字符串? 最佳答案 利用zfill()辅助方法来左填充任何字符串、整数或float;它对Python2.x都有效和Python3.x.需要注意的是,Python2是nolongersupported.示例用法:print(str(1).zf

python - 如何在 Python 3 中用前导零填充字符串

这个问题在这里已经有了答案:HowdoIpadastringwithzeroes?(19个回答)关闭3年前。我正在尝试在Python3中制作length=001但每当我尝试将其打印出来时,它都会截断没有前导零的值(length=1).我将如何阻止这种情况发生而不必在打印出来之前将length转换为字符串? 最佳答案 利用zfill()辅助方法来左填充任何字符串、整数或float;它对Python2.x都有效和Python3.x.需要注意的是,Python2是nolongersupported.示例用法:print(str(1).zf

python - 将 float 舍入为 x 位小数?

有没有办法将python浮点数四舍五入到x个小数?例如:>>>x=roundfloat(66.66666666666,4)66.6667>>>x=roundfloat(1.29578293,6)1.295783我找到了修剪/截断它们的方法(66.666666666-->66.6666),但不是圆形的(66.666666666-->66.6667)。 最佳答案 使用内置函数round():In[23]:round(66.66666666666,4)Out[23]:66.6667In[24]:round(1.29578293,6)Out

python - 将 float 舍入为 x 位小数?

有没有办法将python浮点数四舍五入到x个小数?例如:>>>x=roundfloat(66.66666666666,4)66.6667>>>x=roundfloat(1.29578293,6)1.295783我找到了修剪/截断它们的方法(66.666666666-->66.6666),但不是圆形的(66.666666666-->66.6667)。 最佳答案 使用内置函数round():In[23]:round(66.66666666666,4)Out[23]:66.6667In[24]:round(1.29578293,6)Out

python - 仅获得小数点后一位

这个问题在这里已经有了答案:Limitingfloatstotwodecimalpoints(34个回答)关闭6年前。如何将45.34531转换为45.3? 最佳答案 你是不是想用一个数字来表示它:print("{:.1f}".format(number))#Python3print"%.1f"%number#Python2或者实际上四舍五入其他小数位?round(number,1)甚至严格向下取整?math.floor(number*10)/10 关于python-仅获得小数点后一位,

python - 仅获得小数点后一位

这个问题在这里已经有了答案:Limitingfloatstotwodecimalpoints(34个回答)关闭6年前。如何将45.34531转换为45.3? 最佳答案 你是不是想用一个数字来表示它:print("{:.1f}".format(number))#Python3print"%.1f"%number#Python2或者实际上四舍五入其他小数位?round(number,1)甚至严格向下取整?math.floor(number*10)/10 关于python-仅获得小数点后一位,

python - 如何舍入日期时间对象的分钟

我有一个使用strptime()生成的datetime对象。>>>tmdatetime.datetime(2010,6,10,3,56,23)我需要做的是将分钟舍入到最接近的第10分钟。到目前为止,我一直在做的是获取分钟值并在其上使用round()。min=round(tm.minute,-1)但是,与上面的示例一样,当分钟值大于56时,它会给出无效时间。即:3:60有什么更好的方法来做到这一点?datetime支持吗? 最佳答案 这将使存储在tm中的datetime对象的“地板”四舍五入到tm之前的10分钟标记。tm=tm-dat