发布时间:2019-09-25 08:27:38编辑:auto阅读(2678)
Python中,浮点数运算,经常会碰到如下情况:

出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确。
比如说: 0.1是十进制,转化为二进制后它是个无限循环的数:
0.00011001100110011001100110011001100110011001100110011001100
而python是以双精度(64)位来保存浮点数,多余的位会被截掉,所以看到的是0.1,但在电脑上实际保存的已不是精确的0.1,参与运算后,也就有可能点误差,特别是金融邻域里面,对精度更是要求更高,如何在Python中获取特定位数精度值?
【方法一】利用round方法:

【方法二】利用decimal模块:

上一篇: python对象销毁(垃圾回收)
下一篇: python 支持swagger
51676
51335
41769
38549
33022
30040
28710
23693
23614
21978
2169°
2867°
2391°
2335°
2875°
2343°
3132°
5143°
4975°
3551°