首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python 3.x中保留或添加小数位

在Python 3.x中保留或添加小数位
EN

Stack Overflow用户
提问于 2018-07-28 03:50:49
回答 2查看 669关注 0票数 1

我试图返回一个有6个小数位的数字,而不管这个数字是什么。

例如:

代码语言:javascript
运行
复制
>>> a = 3/6
>>> a
0.5

如何将a设为0.500000,同时将其类型保留为浮点型?

我试过了

代码语言:javascript
运行
复制
'{0:.6f}'.format(a)

但这会返回一个字符串。我想要一些东西来完成同样的任务,但返回一个浮点数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-28 03:58:03

这个问题表明对数据类型的性质有一点误解,比如浮点数和字符串。

计算机中的浮点数是二进制表示法,而不是十进制表示法。python在控制台中提供给您的小数表示在打印时被转换为字符串,即使它被print函数隐式地表示出来。0.5和0.5000000在其二进制表示形式中存储为浮点数的方式没有区别。

当您编写应用程序代码时,最好不要担心表示,直到它到达最终用户,它必须以某种方式转换为字符串,即使只是隐式转换。在这一点上,您可以担心小数位数,甚至根本不需要用小数表示。

票数 0
EN

Stack Overflow用户

发布于 2018-07-28 03:54:29

在计算机的内存中,浮点数被存储为IEEE754 object,这意味着它只是一堆二进制数据,以给定的格式暴露出来,与您编写数字时的字符串完全不同。

所以当你操作它的时候,它仍然是一个浮点数,并且在点后面没有小数位数。只有当您显示它时,它才会执行此操作,无论您做什么,当您显示它时,它都会转换为字符串。

这就是您转换为字符串的时候,您可以指定要显示的小数位数,并使用您编写的字符串格式进行转换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51564668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档