【发布时间】:2020-08-23 15:10:54
【问题描述】:
我的问题是,我有几个数字,范围从0.6e9 到3.6e9。我已经在使用f"foo {number:.1E} bar" 来实现 f 字符串的打印/显示的科学格式化,但是这有一个问题是0.6e9 被“缩短”为6.0e8,这不是我想要的。
我意识到,从技术上讲,这是一个正确的答案,但出于显示目的和可读性的目的,我认为最好将其用作 0.6e9,以便与其他答案保持一致。
要明确我想要的是控制科学格式中使用的 10 的幂。
这是可以轻松控制的,还是需要自定义函数?
【问题讨论】:
-
具体在哪里?您传递给 matplotlib 的刻度、标签、一些格式字符串?请给出一个您希望在哪里发生这种情况的最小示例,最好是如果这是一个带有一些数字的图作为一个简短的示例。
-
请附上一些代码,以便提供与您的程序相关的更好的解决方案。
-
@kabanus 任何地方。格式化是由标准的 python 格式化符号完成的,与它将在哪里使用无关。即使是简单的
print()行。 (例如,在 python 控制台中键入print(f"{10000:.1e}")。)在我的特殊情况下,我在pyplot绘图的label参数中使用了它,但它只是一个 f 字符串。 -
我已经修改了你的问题以明确这一点 - matplotlib 提及有点像红鲱鱼,因为它有自己的格式化套件。
标签: python scientific-notation