Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pablo Prates

Como imprimir float dinamicamente

Recommended Posts

Ola pessoal, sou novo no pedaço. E gostaria de cumprimentar a todos.

Gostaria de dizer tb que estou com um problema em c:

 

Como faço para imprimir uma variavel float com printf da seguinte maneira:

 

Se o numero nao for exato, imprime numero com duas decimais.

Se for exato, imprime o numero, sem virgula ou zeros...

 

Como faço???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma idéia é:

 

Extraia a parte inteira de um float e guarde numa variável.

Transforme esse valor novamente em float. Para isso use outra variável.

 

Faça o teste com if else e imprima da maneira que desejar.

 

Algo desse tipo:

 

// extrair a parte inteira
// transforme a parte inteira em float

if(numero == numeroTransformado)
   printf("%d",parteInteira);
else
   printf("%.2f",numero);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Propriedade matemática.

Se o número for inteiro, então ceil(x) == floor(x). Obviamente se ele é inteiro, então não possui casas decimais diferentes de 0.

 

if (ceil(X) == floor(X))
printf("%.0f\n",X);
else printf("%.2f\n",X);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.