0

我正在使用 Python 的格式迷你语言来引用字典。对于字典中的一个浮点数,我想打印它不带小数点。

例如:

a_dict = {'a_float' : 321.5241,
          'b_float' : 0.011322,
          'c_float' : 24.12354}

out = ('1 25142U {a_float:9.3f}\n'
      '2 {b_float}{c_float:10.3f}').format(**a_dict)

print out

回报:

>>> 1 25142U   321.524
>>> 2 0.011322    24.123

但是,我想格式化 b_float (以删除 '0.'),以便打印出返回:

>>> 1 25142U   321.524
>>> 2 011322    24.123

这在迷你语言格式规范的范围内是否可能?

我知道这可以通过(a)传入单个项目(并在参数中编辑它们)而不是字典本身或通过(b)对输出字符串进行后处理来完成,但我想知道 Python 的 mini-语言足够复杂,可以仅将这个问题简化为迷你语言的格式规范。

(对于那些对此动机感兴趣的人,我正在尝试从卫星参数字典中打印出 TLE。如果您有兴趣,Google/Wikipedia 可能会告诉您更多信息,但每个字符的位置很重要,并且它假定某些项目(如偏心率)的小数位。)

4

1 回答 1

0

repr 将浮点数转换为字符串,然后拆分字符串

repr(0.011322).split('.')[-1]
or 
repr(0.011322)[2:]

output
011322
于 2015-11-06T02:31:29.163 回答