Gostaria de definir a formatação de um número inteiro grande em uma string programaticamente. Especificamente, tenho um número inteiro que pode abranger várias ordens de magnitude e gostaria de imprimi-lo usando o delimitador sublinhado "_", por exemplo
num = 123456789
print(f"number is {num:9_d}")
>>> number is 123_456_789 # this is ok
num = 1234
print(f"number is {num:9_d}")
>>> number is 1_234 # this has extra spaces due to hand-picking 9
Como posso definir o número anterior a "_d" programaticamente com base no número de dígitos em num? (Ou caso eu tenha feito uma pergunta XY, como posso imprimir o número com delimitadores de sublinhado e sem espaços extras?)
Você poderia descartar completamente o parâmetro length:
Mas para responder à pergunta feita, você pode formatar a string de formato
Espero que isto ajude
Igual a: