做了几道题,复习一下python的内置函数。
python round() 函数
函数描述
round()函数返回浮点数x的四舍五入值
语法
round(x[, n])
用法实例:浮点数x=3.1415926,用round()函数使x显示小数点后两位
print (round(x, 2))
运行结果
3.14
多写一点
在使用round()函数的时候,有时候运行出的结果和自己想的不一样,比如:
>>>round(2.25, 1)2.2>>>round(2.35, 1)2.4>>>round(2.2500001, 1)2.3
原来,这里的使用的方法并非“四舍五入”,而是银行家舍入。
银行家舍入:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一
结合着上面这句话,再来看运算结果,就容易理解了。
另外,无论是小学时候所学的“四舍五入”还是银行家舍入,都是针对十进制而言的。
当二进制的计算机使用这种方法的时候,难免会出现误差。
具体,可以参考wiki的这两个词条,写的很详细!
rounding:
IEEE floating point:
python 格式控制符 %m.nf
函数描述
用来控制特定字符宽度、数据精度
参数解释
m代表字符宽度(包括小数点)
如果字符宽度大于m值,则m可以忽略
如果字符宽度小于m值,当m为正时,则右对齐;当m为负时,则左对齐
n代表小数点后的位数
举例说明
>>>#字符长度大于m,则m可忽略>>> print('%5.3f'%123.456789)123.457>>> print('%-5.3f'%123.456789)123.457>>> #如果字符长度小于m,且m值为正,则右对齐>>> print('%20.3f'%123.456789) 123.457>>> #如果字符长度小于m,且m前有‘-’号,则左对齐>>> print('%-20.3f'%123.456789)123.457
下一篇博客就整理一下这方面的内容。
人生苦短,花开堪折直须折,莫待无花空折枝。