在对浮点型数据进行输出操作时,经常面临着精度的问题,众所周知,计算机里面浮点数的精度一般是比较高的,而我们经常使用是保留小数点后两位。
format函数为我们提供了格式化数据的方法,有关format的格式如下:
format(数值,“格式”)
格式是m.nf,m和n是整数,m表示整个数值占多少位输出,n表示小数点后保留几位小树
举例:数值123.45678
print format(123.45678, ‘0.2f’)
print format(123.45678, ’10.2f‘)
输出结果如下:
>>> print format(123.45678, '0.2f')
123.46
>>> print format(123.45678, '10.2f')
123.46
m.nf 如果m为0,表示仅考虑小数点后又几位,不考虑输出占几位;第二次m取值10,由于123.45仅有五位,所以输出会缩进,也就是右对齐。注意小数点也算作一位。
在看下面一种情况
print format(123.45678,‘3.2f’)
>>> print format(123.45678,'3.2f')
123.46
对于m的值过小,python为了保证数据的精确,会忽略m值,也就是将m值视为0.这样就能准确输出结果,而不是为了可以保证数据格式忽略数据的正确性。
format的另外一个用法就是输出百分比的数值。其语法格式如下:
format(数值,‘m.n%’)
关于m和n的含义,和前面的一样,%表示将要数值转换成百分数。
举例如下:
>>> print (format(0.5,'0.1%'))
50.0%
>>> print(format(0.4234,'3.1%'))
42.3%
同样的如果遇到科学计数法呢,同样可以使用format函数将%换成e就行,其他不变