Eu tenho uma função que aceita argumentos de flutuação (geralmente números inteiros ou decimais com um dígito significativo) e preciso gerar os valores em uma string com duas casas decimais (5 -> 5,00, 5,5 -> 5,50, etc.). Como posso fazer isso em Python?
python
string
programming-languages
floating-point
MarathonStudios
fonte
fonte
d=3
, em seguida, a sintaxe é"{:.{}f}".format(5, d)
formatação de string f :
Isso era novo no Python 3.6 - a string é colocada entre aspas, como de costume, precedida
f'...
da mesma maneira que você fariar'...
para uma string bruta. Em seguida, você coloca o que deseja colocar em sua string, variáveis, números, chaves internasf'some string text with a {variable} or {number} within that text'
- e o Python avalia como nos métodos anteriores de formatação de strings, exceto que esse método é muito mais legível.Você pode ver neste exemplo que formatamos com casas decimais de maneira semelhante aos métodos de formatação de string anteriores.
NB
a
pode ser um número, variável ou mesmo uma expressão, por exemplof'{3*my_func(3.14):02f}'
.No futuro, com o novo código, prefiro as strings f em vez dos métodos% s ou str.format () comuns, pois as strings f podem ser muito mais legíveis e geralmente muito mais rápidas .
fonte
Formatação de string:
fonte
math.floor
,math.ceil
ouround
Usando formatação de string python.
fonte
Formatação de string:
OU
A função Round pode ser usada:
O bom de round () é que podemos armazenar esse resultado em outra variável e usá-lo para outros fins.
fonte
round
. Não deve ser usado apenas para fins de exibição .round(5.0001, 2)
->5.0
, não'5.00'
Sintaxe mais curta do Python 3:
fonte
Se você realmente deseja alterar o próprio número, em vez de apenas exibi-lo de forma diferente, use format ()
Formate-o com 2 casas decimais:
exemplo:
fonte
Eu sei que é uma pergunta antiga, mas eu estava lutando para encontrar a resposta. Aqui está o que eu vim com:
Python 3:
fonte
Usando a sintaxe do Python 3:
fonte
Se você deseja obter um valor de ponto flutuante com duas casas decimais limitadas no momento da chamada de entrada,
Veja isso ~
fonte
eval
uma corda quando você poderia apenasround
? De qualquer forma isso não mesmo trabalhar corretamente, pois se você alimentar em5
, você obtém5.0
em vez de5.00
como OP quer.nan
einf
.