首页 > 解决方案 > 如何使用字符串格式来接收小数点后正好 5 个数字的数字?

问题描述

我试图得到一个小数点后正好有 5 个数字的数字,没有四舍五入!例如:

2.34567836576 ----> 2.34567

我们只允许使用字符串格式。不幸的是,我只是通过四舍五入成功地做到了这一点。 使用 3.7 Python 谢谢!

标签: pythonstringformattingnumbersdecimal

解决方案


只需使用字符串格式。

"{:.5f}".format(232.34567836576)
> '232.34568'

编辑:这是一种使用主要字符串格式的超级hacky方式:

("{0:." + str(len("{0:.5f}".format(22.34567836576))) +"}").format("{0:f}".format(22.34567836576))
22.34567

我不确定练习的目的是什么。我正在做的是将字符串截断为(错误地)舍入的格式化浮点数的长度。

对于我能找到的,没有办法明确地格式化它。如果这个答案无效,我很抱歉,如果我事先阅读了你的四舍五入,我不会发表评论。


推荐阅读