python时间取整_【Python进阶】数字、日期和时间

  • Post author:
  • Post category:python


一、对数值进行取整

将浮点数取整到固定的小数位: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‘)<



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