将浮点数转换为字符串而不舍入

将浮点数转换为字符串而不舍入,第1张

将浮点数转换为字符串而不舍入

在处理浮点数时,通常不可避免地需要某种形式的舍入。这是因为您可以以10为基数精确表示的数字不能始终以2为基数(您的计算机使用)精确表示。

例如:

>>> .10.10000000000000001

在这种情况下,您会看到使用.1将.1转换为字符串

repr

>>> repr(.1)'0.10000000000000001'

我相信当您使用str()来解决此问题时,python会砍掉最后几位数,但这是部分解决方法,不能替代理解正在发生的事情。

>>> str(.1)'0.1'

我不确定“四舍五入”到底是什么问题导致了您。也许您会更好地使用字符串格式来更精确地控制输出?

例如

>>> '%.5f' % .1'0.10000'>>> '%.5f' % .12345678'0.12346'

文档在这里。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5566039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存