49、你并不了解的format、decimal

你并不了解的format、decimal

format格式化数字

a = 1.1
b = 3.2
c = a + b
print(c) # 4.300000000000001
# format可以格式化数字,第一个参数是数字,第二个参数是想要格式化的数字格式
print(format(c,'0.2f')) # 4.30
print(format(c,'e'))    # 4.300000e+00
print(format(c,'0.2E')) # 4.30E+00
# 十进制转换其他进制
print(bin(10)) # 二进制 0b1010
print(oct(10)) # 八进制 0o12
print(hex(10)) # 十六进制 0xa
# 用format则结果面前不带进制标识符
b = 0b1010
o = 0o12
h = 0xa
print(format(10,'b')) # 1010
print(format(10,'o')) # 12
print(format(10,'h')) # a

decimal精确处理数字

# python一般情况下对数字运算并不足够精确,这一点在对计算精度要求较高的地方是不能接受的,这时候decimal模块就可以派上用场
from decimal import Decimal
a = 1.1
b = 3.2
print(a+b) # 4.300000000000001

a=Decimal('1.1')
b=Decimal('3.2')
print(a+b) # 4.3
原文地址:https://www.cnblogs.com/amgulen/p/14046712.html