-1

如何打印出不超过两位十进制数字的精度,例如 5.32 而不是 5.32436675?在python中有没有关于这个的关键字。

4

5 回答 5

5

尝试:

a = 5.32436675
print("%.2f" % a)

记住这是四舍五入。

如果您只想截断使用此帖子中的此方法。

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))
于 2013-11-01T17:36:56.593 回答
1

您想四舍五入到 2 个位置,如下所示:

round(number, 2)

例子:

round(5.32436675, 2)

输出:

5.32

这比浮动实现(截断解决方案)更可取,因为四舍五入意味着数字仍然大部分准确。你不想在应该5.319的时候被切断!5.315.32

快乐编码!

于 2013-11-01T17:37:33.147 回答
0

根据字符串格式规范

>>> "{0:.2f}".format(5.32436675)
5.32
于 2013-11-01T17:45:15.633 回答
0

您可以使用:

n = 23.232323
print "%.2f" % n 

这里的“.2”表示小数点后两位。

于 2013-11-01T17:38:15.287 回答
0

% 格式有点老了。新方式:

print('{:.2f}'.format(5/9))
于 2013-11-01T17:53:20.220 回答