保留小数位的五种方式------Python

1. format
print("{0:.2}".format("2.235648"))  # 字符串保留两位小数
print("{0:.2f}".format(6.423789))  # float保留两位小数
print("{0:b}".format(4))  # 二进制输出,对象是整数
print("{0:c}".format(4))  # Unicode输出,对象是整数
print("{0:d}".format(4))  # decimal类型输出,对象是整数
print("{0:o}".format(4))  # 八进制输出,对象是整数
print("{0:x}".format(4234))    # 十六进制输出,对象是整数,字母小写
print("{0:4X}".format(4234))  # 十六进制输出,对象是整数,字母大写
print("{0:e}".format(6.423789))  # 科学计数法小写e
print("{0:E}".format(6.423789))  # 科学计数发大写E
print("{0:%}".format(6.423789))  # 百分之几输出

输出结果
在这里插入图片描述

2. %f
print("%.4f" % 7.1264989)
print("%.f" % Decimal("7.1264989"))

输出结果

7.1265
7
3. round(不推荐)

只能是float或Decimal类型

from decimal import Decimal
print(round(8.356987, 3))
print(round(Decimal(8.356987), 2))

输出结果

8.357
8.36
4. Decimal

这个类型一般会在读取excel表格中遇到

from decimal import Decimal
print(Decimal('5.592134').quantize(Decimal('0.000')))
print(Decimal('5.592134').quantize(Decimal('237746.450')))

输出结果

5.592
5.592

注意:
Decimal这种方式,当保留位数大于等于5时,前一位是奇数则进一,前一位若是偶数则不进位直接舍去
如:

print(Decimal('789.125').quantize(Decimal('0.00')))
print(Decimal('789.135').quantize(Decimal('0.00')))

输出结果

789.12
789.14
5. 舍去(不入)

不管后面是数字几或者多少位,全部舍去不要了

print(int(48.54861 * 100) / 100)
print("65.5479789"[:7])
s = "78.78994648".split(".")
print("初s:", s)
s[1] = s[1][:3]
print("次s", s)
print(".".join(s))

输出结果:

48.54
65.5479
初s: ['78', '78994648']
次s ['78', '789']
78.789

版权声明:本文为weixin_43614573原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。