问题描述
有没有办法总是四舍五入到接下来的十位?例如,0.000000000003
应变为 0.1
。 0.1244593249234
将变为 0.2
,0.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(); }