Python打印一个给定位数的浮点数

新手上路,请多包涵

我在 Python 中有一些浮点值。我想打印它们,以便它们具有相同的位数(整数和小数部分的总和)

例如考虑两个数字:

 a = 12.123456
b = 123.1234567

我想按如下格式打印它们的值:

 12.1234
123.123

使它们具有相同的长度。

一种简单的方法如下:

 if (val>100):
    print("%0.3f" % val)
else:
    print("%0.4f" % val)

有没有一种更聪明的方法可以在python中同时控制整数和小数位数,从而使结果字符串保持不变?

原文由 Francesco Boi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 598
2 个回答

好的,我想到了这个基本上是解决方法的解决方案:

 LIM = 7;
a = 12.123456
b = 123.1234567
print(str(a)[:LIM])
print(str(b)[:LIM])

原文由 Francesco Boi 发布,翻译遵循 CC BY-SA 4.0 许可协议

整数和小数的格式化方法是

>>> '{:06.2f}'.format(3.141592653589793)
'003.14'

the part before the . ( 6 here) denotes the total length of padding (including the . ), and after the . ( 2f 这里)表示小数点后的数字。希望能帮助到你。检查 链接

原文由 Rahul Goswami 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进