我正在为一个有根于60年代的程序编写输入文件,它从文本文件的固定宽度数据字段中读取数据。格式如下:
下面是翻译的结果:
- 字段宽度为8个字符
- 浮点数必须包含一个
'.'
或者写成指数形式,例如'1.23e8'
print "{0:8.3g}".format(number)
下面是翻译的结果:
使用 1234567
得到 '1234567.'
,使用 1234
得到 ' 1234.'
。
但我想要更改:
1234567.
,使用1234567
(即在需要指数格式之前不转换为指数格式),1234.
,使用1234
(即以点结尾,这样它不会被解释为整数),1.235e+7
,使用12345678
(即为指数使用一个数字),-1.23e+7
,使用-1234567
(即不违反负数的8位数最大值)。
由于这在 Fortran 中很容易实现,并且在与旧代码交互时可能经常出现问题,因此我认为一定有一种简单的方法可以解决这个问题?