1.数字的四舍五入
对于简易的舍入运算,使用内置的
round(value, ndigits) 函数就能够。
round
函数再次回到离它方今的偶数。也正是说,对 1.5 可能 2.5 的舍入运算都会获得2。
>>> round(2.5)
2
>>> round(1.5)
2
round()的参数ndigits能够是负数,取整到10位,百位,千位, 效果如下:
>>> a = 13123213
>>> round(a, -1)
13123210
>>> round(a, -2)
13123200
>>> round(a, -3)
13123000
不要将舍入和格式化输出搞混淆了。假设您的指标只是简短的出口一定幅度的数,
无需动用 round() 函数。只需求在格式化的时候内定精度就可以。
>>> x = 1.231231241
>>> format(x, '0.4f')
'1.2312'
>>> 'value is {:0.3f}'.format(x)
'value is 1.231'
2.正确准确的小数总计
浮点数不能够精确的抒发出装有的十进制小数位。
>>> a = 4.2
>>> b = 2.1
>>> a + b
6.300000000000001
>>> (a + b) == 6.3
False
能够动用decimal模块来增加规范值,不过要就义局地质量。
>>> from decimal import Decimal
>>> a = Decimal('4.2')
>>> b = Decimal('2.1')
>>> a + b
Decimal('6.3')
>>> print(a + b)
6.3
>>> (a + b) == Decimal('6.3')
True
调节位数和四舍五入。
>>> from decimal import localcontext
>>> a = Decimal('1.4')
>>> b = Decimal('1.9')
>>> print(a/b)
0.7368421052631578947368421053
>>> with localcontext() as num:
... num.prec = 3
... print(a/b)
...
0.737
>>> with localcontext() as num:
... num.prec = 50
... print(a/b)
...
0.73684210526315789473684210526315789473684210526316
3.格式化数值
1.选用内建函数format(),能够自定义保留多少位,居中游操作。想选拔准确统计法,把
f 改为 e 或 E 就可以。
>>> x = 1234.56789
>>> format(x, '0.2f') # 保留两位小数
'1234.57'
>>> format(x, '>10.1f') #左边留白
' 1234.6'
>>> format(x, '<10.1f') #右边留白
'1234.6 '
>>> format(x, '^10.1f') # 居中
' 1234.6 '
>>> format(x, ',') # 显示千位
'1,234.56789'
>>> format(x, '0.1f') # 保留一位小数
'1234.6'
2.出口整数浮点数格式法则。
b: 输出整数的二进制情势;
c: 输出整数对应的Unicodez 字符;
d: 输出整数对应的十进制形式;
0: 输出整数对应的八进制形式;
x: 输出整数对应的小写十六进制格局;
X: 输出整数对应的大写十六进制格局;
>>> '{0:b}, {0:c}, {0:d}, {0:o}, {0:x}, {0:X}'.format(2333)
'100100011101, झ, 2333, 4435, 91d, 91D'