Как выводить числа, которые выводятся в экспоненциальной записи, в нормальном (десятичном) виде?

Почему так числа отображаются: 7e-06 3e-06 4e-06?

Как сделать вывод привычным, чтобы было удобней читать?

Если с большими значениями: 0.7 0.3 0.4,0.07 0.03 0.04, 0.0007 0.0003 0.0004, то всё нормально, но со стотысячными долями: 7e-06 3e-06 4e-06.

a = 0.000003
b = 0.000004
c = a + b
if a < b:
    print(c, a, b)
else:
    print(a)

Ответы (1 шт):

Автор решения: MaxU

Воспользуйтесь форматированием строк. Еще удобнее воспользоваться f-string, который стал доступен начиная с Python 3.6.

исходный вариант - форматирование по умолчанию:

In [52]: print(a, b, c)
3e-06 4e-06 7e-06

используем форматирование строк:

In [54]: print("{:.8f}, {:.8f}, {:.8f}".format(a,b,c))
0.00000300, 0.00000400, 0.00000700

используем f-string форматирование (обратите внимание на букву f перед началом строкового литерала: f"<string_literal>"):

In [53]: print(f"{a:.8f}, {b:.8f}, {c:.8f}")
0.00000300, 0.00000400, 0.00000700
→ Ссылка