Python迷你语言格式规范从float

时间:2015-11-06 01:00:25

标签: python number-formatting mini-language

我使用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的迷你语言非常复杂,只能将这个问题简化为迷你语言的格式规范。

(对于那些对此动机感兴趣的人,我试图从卫星参数字典中打印出一个TLE。如果你感兴趣,谷歌/维基百科可能会告诉你更多,但每个角色的位置是重要的是,它假设某些项目的小数位,如偏心率。)

1 个答案:

答案 0 :(得分:0)

repr将float转换为string然后拆分字符串

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

output
011322