python:只能得到1位小数

python:只能得到1位小数

问题描述:

如何将45.34531转换为45.3python:只能得到1位小数

你们是不是只用一个数字来表示它:

print "%.1f" % number 

或实际四舍五入其他小数?

round(number,1) 

甚至圆严格下降?

math.floor(number*10)/10 
+0

是否有任何机会,你的第一和第三的解决方案提供了不同的结果?我认为他们两个完全一样@relet – 2017-02-11 12:43:13

+0

尝试编号= -2.55。他们也返回不同的类型。 – relet 2017-02-11 19:10:03

+0

@DeveshSaini尝试编号2.36。第一将给2.4,第三将给2.3 – 2018-01-22 02:51:47

round(number, 1) 

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

或者使用内置轮:

>>> round(45.34531, 1) 
45.299999999999997 
+4

更新:回合现在给我45.3。 – Nathan 2012-03-30 14:44:13