如何在Python中将浮点数格式化为最大固定宽度
发布时间:2020-12-20 13:41:48 所属栏目:Python 来源:网络整理
导读:我正在将一个输入文件写入一个源于60年代的程序,它从文本文件的固定宽度数据字段读取数据.格式为: 字段宽度为8个字符 浮点数必须包含’.’或以指数格式书写,例如’1.23e8′ 我最接近的是 print "{0:8.3g}".format(number) 产生’1.23e 06’与1234567,和’12
我正在将一个输入文件写入一个源于60年代的程序,它从文本文件的固定宽度数据字段读取数据.格式为:
>字段宽度为8个字符 我最接近的是 print "{0:8.3g}".format(number) 产生’1.23e 06’与1234567,和’1234’与1234. 我想调整一下,得到 >’1234567.’使用1234567(即在它之前不会采用指数格式) 由于这是(据我记得)很容易用Fortran实现的,问题可能偶尔出现,当与遗留代码交互时,我怀疑必须有一些简单的方法来做到这一点? 解决方法
你已经非常接近,但我认为你的最终解决方案将涉及编写自定义格式化程序.例如,我不相信
mini-formatting language可以像你想要的那样控制指数的宽度.
(顺便说一句,在你的第一个例子中,你没有在“e”之后有一个“”,而是在你做的其他人之后.明确你想要哪一个可以帮助其他的回答者.) 如果我正在编写这种格式化函数,我要做的第一件事就是为它编写一套完整的测试. doctest或unittest都适用. 然后,您将处理格式化功能,直到所有这些测试通过. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |