在 Python 中四舍五入到接下来的十位

问题描述

有没有办法总是四舍五入到接下来的十位?例如,0.000000000003 应变为 0.10.1244593249234 将变为 0.20.9x 将变为 1。负数在这里不重要。

有内置的还是我需要想出一些东西?

解决方法

通过将输入 f 乘以 10,您将把它从 [0,1] 映射到 [0,10]。现在,通过从这个数字中获取 ceil,您将获得 [0,10] 中的一个整数,通过将其除以 10,您将根据需要获得 [0,1] 范围内的下一个十:

import math

next_ten = math.ceil(f * 10.0) / 10.0
,

Idk,这是一个简单的解决方案。我对您提供的所有选项进行了测试,似乎可以正常工作。

x = 0.2
print("{:.1f}".format(x+.1))
,

给你。这不是内置的,可能太过分了,但至少应该可以工作,工作已经完成:

public static void main(String... s) {  Base base= new Base(); Base.Child4 C1 = base.newChild4(); C1.show(); }