Python字符串格式,字符串库

时间:2013-11-01 17:34:44

标签: python

如何打印出不超过两位小数的精度,如5.32而不是5.32436675?在python中是否有关于此的关键字。

5 个答案:

答案 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.3195.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))