关于在python中将小数值作为定点数

时间:2018-03-16 05:33:40

标签: python fixed-point

我有一些小数值:

0 11.586 11.915 11.034

0 4.896 9.675 13.564

0 8.676 1.275 17.034

0 18.424 15.115 13.316

0 1.174 7.515 21.296

0 24.054 1.855 17.746

0 0.164 21.775 2.776

但我需要整齐格式的值,如下所示:

0 11.586 11.915 11.034

0 04.896 09.675 13.564

0 08.676 01.275 17.034

0 18.424 15.115 13.316

0 01.174 07.515 21.296

0 24.054 01.855 17.746

0 00.164 21.775 02.776

因为后者看起来很整洁...... 所以,我尝试了以下代码来获取前一个值的行,直到三个十进制值,但现在我需要得到,(例如8.67,4.89为08.67,04.89等等......)

out.write('{0}\t{1[0]:.3f}\t{1[1]:.3f}\t{1[2]:.3f}\n'.format(ts.frame, pos)) 我需要在代码中进行哪些修改...... ??

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

我会做这样的事情来使用格式字符串来为每个被转换为可打印格式的数字创建宽度:

print("{0:0>{width}.{prec}}".format(d, width=5, prec=4))

上面的0>部分将零填充左侧的填充。

此外,我建议您查看标准库中的decimal模块,这样您就可以代表定点数而无需自己编写代码。