Меня поразило поведение по умолчанию f-строк в python 3.7.2:
>> number = 0.0000001
>> string = f"Number: {number}"
>> print(string)
Number: 1e-07
То, что я ожидал, было: Number: 0.0000001
Это особенно раздражает для создания имен файлов. Как отключить автоматическое преобразование c в нотацию scientifi c? И почему он включен в первую очередь?
В основном противоположность этого вопроса .
Редактировать: Я хотел бы избежать установки фиксированная длина для числа с плавающей точкой через {number:.8f}
, так как мои числа имеют разную длину, и я не хочу иметь конечные нули. Я хочу использовать f-строки для автоматического создания имен файлов, например:
filename = f"number_{number:.10f}_other_number_{other_number:.10f}.json"
Я ищу простой модификатор, который может отключить автоматическое обозначение c scientifi c при сохранении исходной точности поплавка.