如何打印出不超过两位小数的精度,如5.32而不是5.32436675?在python中是否有关于此的关键字。
答案 0 :(得分:5)
尝试:
a = 5.32436675
print("%.2f" % a)
记住这是四舍五入。
如果您只想截断,请使用this post.
中的此方法def trunc(f, n):
'''Truncates/pads a float f to n decimal places without rounding'''
slen = len('%.*f' % (n, f))
return str(f)[:slen]
print(trunc(a, 2))
答案 1 :(得分:1)
您希望舍入到2个位置,如下所示:
round(number, 2)
示例:
round(5.32436675, 2)
输出:
5.32
这比浮动实现(截断解决方案)更可取,因为舍入意味着数字仍然大部分是准确的。您不希望5.319
被5.31
切换为5.32
!
快乐的编码!
答案 2 :(得分:0)
您可以使用:
n = 23.232323
print "%.2f" % n
此处的“.2”表示小数点后的2位数。
答案 3 :(得分:0)
根据string format specifications:
>>> "{0:.2f}".format(5.32436675)
5.32
答案 4 :(得分:0)
%格式化有点老了。新方式:
print('{:.2f}'.format(5/9))