python里如何保存float类型的小数的位数+round format Decimal

介绍三种方法:

round(a,2)
‘%.2f’ % a
Decimal(‘5.000’).quantize(Decimal(‘0.00’))
当需要输出的结果要求有两位小数的时候,字符串形式的:’%.2f’ % a 方式最好,其次用Decimal。

需要注意的:

  1. 可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。

  2. Decimal还可以用来限定数据的总位数。

  3. round是截断(直接舍弃其余位)还是四舍五入原则,和版本有关系。

举例:

# 默认对十分位四舍五入,也就是四舍五入成整数
print(round(1.23))  # 1
print(round(1.27))  # 1

# 小数出现.5,返回离他们最近的偶数
print(round(1.5))  # 2
print(round(2.5))  # 2
print(round(3.5))  # 4

# 负数就相当于从小数点往前多少位
print(round(10.273, -1))  # 10.0  对个位四舍五入
print(round(10.273, -2))  # 0.0  对十位四舍五入
print(round(10273, -2))  # 10300  对十位四舍五入
print(round(10273, -1))  # 10270  对个位四舍五入
x=1.23456
print(format(x,"0.1f"))  # 1.2
print(format(x,"0.2f"))  # 1.23
print(format(x,"0.3f"))  # 1.235

print("格式化精度{:0.4f}".format(x))  # 格式化精度1.2346

还可以结合如下文章学习
1.文章
2.文章
3.文章

posted @ 2020-10-09 10:49  小Aer  阅读(11)  评论(0编辑  收藏  举报  来源