您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

例如:

>>> .1
0.10000000000000001

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

>>> repr(.1)
'0.10000000000000001'

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

>>> str(.1)
'0.1'

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

例如

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

文档在这里

其他 2022/1/1 18:31:18 有473人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶