Ir ao conteúdo
  • Cadastre-se

Dúvida no tipo float em C++


jeffprog
Ir à solução Resolvido por Lucas Ramos_650303,

Posts recomendados

Estou iniciando meus estudos na linguagem C++ e me deparei com um pequeno problema. Fiz um programa extremamente simples apenas para testar o uso de uma variável do tipo float, mas por algum motivo PARECE que o número está sendo arredondado sozinho. Qual o erro do código ou da minha lógica?

 #include <iostream>#include <cstdio> using namespace std; int main(){   float real = 12.34567890;   cout << real;   system("pause > null");   return 0;} 

Ele está imprimindo 12.3457. Além de estar pulando o dígito 6 eu li em uma apostila que por default o C++ exibe 6 casas após a vírgula.

 

Testei o programa no DEV-C++ 5.6.0 e no CODE::BLOCKs 13.12, ambos exibem o mesmo resultado.

 

Serei grato se alguém puder ajudar.

Link para o comentário
Compartilhar em outros sites

  • Solução

Então cara, sua lógica ta certa, o problema ai é a precisão do cout mesmo, ele não esta pulando o 6, esta arredondando o 56 para 57 (6 arredonda pra cima).

 

Adiciona essa biblioteca:

 

#include <iomanip>

 

E então escolhe a precisão:

 

std::cout << std::setprecision(8) << real << '\n';

 

Esse valor que você coloca (8) é o número de casas que vai aparecer na impressão.

 

Flws

 

;)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...