Py学习  »  Python

在Python中,如何在小数点后精确显示4个数字而不舍入?

Hosan • 5 年前 • 1710 次点击  

我想计算数字的平方根,并在小数点后打印4个数字,不需要四舍五入。 这个代码将数字四舍五入

num="%.4f" % num

这张没有显示1.0000或是这样的数字。

num=math.floor(num * 10000)/10000
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55345
文章 [ 5 ]  |  最新文章 5 年前
Raihan Kabir
Reply   •   1 楼
Raihan Kabir    5 年前

你可以把它们转换成字符串。有个办法-

num = str(0.5532523).split('.')
ans = '%s.%s' % (num[0], num[1][:4])
print(ans)
bashBedlam
Reply   •   2 楼
bashBedlam    5 年前

num = float (int (num * 10000) / 10000)
print (num)
Mohammad Jafari
Reply   •   3 楼
Mohammad Jafari    5 年前

试试这个:

>>> num = 5.12129
>>> num = f'{num:.5f}'[:-1]
>>> num
'5.1212'
caseygrun
Reply   •   4 楼
caseygrun    5 年前

可以将数字转换为字符串,然后使用字符串操作:

def numberWithoutRounding(num, precision=4):
    [beforeDecimal, afterDecimal] = str(num).split('.')
    return beforeDecimal + '.' + afterDecimal[0:precision]
>>> numberWithoutRounding(1.43219)
'1.4321'
E. Gertz
Reply   •   5 楼
E. Gertz    5 年前

如果您希望打印/仅显示小数点后的4个数字,这里有一个选项:

 num = 0.553252
'{:.4f}'.format(num)

您可以在此处找到有关显示字符串/值的更多信息- https://pyformat.info/#number