一、对数值进行取整
将浮点数取整到固定的小数位:roung(value, ndigits),ndigits可以是负数,取整到十位、百位、千位等。
>>> round(1.456, 2) # 1.46
>>> round(16743, -3) # 17000
>>> format(1.2345, ‘0.3f‘) # 1.235
二、精确的小数计算
浮点数无法精确表达出所有的十进制小数位。
0.4的二进制表示是无限循环,所以如果要精确表示0.4,计算机需要无限个二进制位才能做到。
然而计算机的内存、CPU寄存器等等硬件单元都是有限的,只能表示有限的二进制位。
>>> from decimal import Decimal
>>> Decimal(‘4.2‘) + Decimal(‘2.1‘) # Decimal(‘6.3‘)
三、数值做格式化输出
使用内建的format()函数即可。
>>> ‘The value is {:0,.2f}‘.format(123456.789) # 123,456.79
四、二进制、八进制和十六进制数
将一个整数转换为二进制、八进制和十六进制的文本字符串形式,分别使用内建的bin()、oct()、hex()函数即可。
>>> x = 1234
>>> bin(x) # ‘0b10011010010‘
>>> oct(x) # ‘0o2322‘
>>> hex(x) # ‘0x4d2‘
不希望出现0b、0o、0x这样的前缀,可以使用format()函数
>>> format(x, ‘b‘), format(x, ‘o‘), format(x, ‘x‘)
转换回10进制:
>>> int(‘4d2‘, 16) # 1234
确保八进制数前添加0o前缀:
>>> os.chmod(‘script.py‘. 0o755)
五、字节串中打包和解包大整数
>>> int.from_bytes(data, ‘little‘)<