Python:只得到1位小数

python: getting only 1 decimal place

本问题已经有最佳答案,请猛点这里访问。

如何将45.34531转换为45.3


您是否试图用一个数字来表示它:

1
2
print("{:.1f}".format(number)) # Python3
print"%.1f" % number          # Python2

或者把其他小数位四舍五入?

1
round(number,1)

或者更严格地说是四舍五入?

1
math.floor(number*10)/10


1
2
>>>"{0:0.1f}".format(45.34531)
'45.3'

或者使用内置轮:

1
2
>>> round(45.34531, 1)
45.299999999999997


1
round(number, 1)