当前位置:  开发笔记 > 编程语言 > 正文

浮点限制

如何解决《浮点限制》经验,为你挑选了2个好方法。

我的代码:

a = '2.3'

我想显示a为浮点值.

既然a是一个字符串,我试过:

float(a)

我得到的结果是:

2.2999999999999998

我想要一个解决这个问题的方法.拜托,请帮助我.

我正在学习本教程.



1> Jon Skeet..:

我认为它更多地反映了您对浮点类型的理解,而不是Python.由于这种"不准确"背后的原因,请参阅我的关于浮点数的文章(基于.NET,但仍然相关).如果需要保留精确的十进制表示,则应使用十进制模块.


除了Jon的文章,我还建议阅读每个计算机科学家应该知道的关于浮点运算的内容.有关副本,请访问http://docs.sun.com/source/806-3568/ncg_goldberg.html.

2> Mike Hamer..:

这不是python的缺点,相反,它是浮点数存储在计算机上的方式的缺点.无论实现语言如何,您都会发现类似的问题.

你说你想'显示'A作为一个浮点,为什么不显示字符串?在视觉上它将与您的期望相同.

正如Jon所提到的,如果您的需求不仅仅是"显示"浮点数,您应该使用十进制模块来存储精确的表示.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有