Exemplo 01:
Assim, abrimos o arquivo “new.cc” com a instrução “nano”. Este arquivo é criado usando a consulta “touch” do shell. O arquivo agora é iniciado no editor nano como um arquivo vazio. Adicionamos o arquivo de cabeçalho de entrada-saída “iostream” na parte superior. A biblioteca “iomanip” foi adicionada para usar o método setprecision() do nosso código. Depois disso, utilizamos o namespace padrão “std” para ter certeza de que estávamos usando o formato padrão de código e sintaxe. O código geral foi executado na função main() do código C++. Nenhuma outra função definida pelo usuário é usada para esta finalidade.
Dentro da função main(), inicializamos uma variável do tipo double “v” com um valor double. A primeira instrução padrão “cout” exibe o valor real da variável dupla “v” no shell sem qualquer atualização. Depois disso, usamos 8 instruções cout para utilizar o método setprecision() em cada uma. Isso é para aplicar setprecision() em cada ponto flutuante da variável “v” todas as vezes. Você deve entender que setprecision só funciona no valor maior ou igual a 5. Se o valor do ponto flutuante for maior que 5, ele incrementará o valor anterior.
Por exemplo, setprecision() no primeiro ponto flutuante arredondará “5” após o ponto, e o valor “4” será convertido para 5. Da mesma forma, o segundo valor de ponto flutuante “2” não pode ser arredondado, o O 3º valor de ponto flutuante “7” converterá o valor “2” em “3”, o 4º valor de ponto flutuante “4” não pode ser arredondado e o 5º valor de ponto flutuante “9” converterá o valor “4 ”Para 5 antes disso. No ponto “0” irá converter o valor “4” em 5. O setprecision() negativo não faz nada além de exibir todo o valor real. Todos os valores nos pontos flutuantes 0 a 5 e -1, -2 serão exibidos após aplicar setprecision():
É hora de compilar e executar o código C++ setprecision com a consulta de compilação g++ e a consulta de execução “./a.out”. A saída mostra que o primeiro setprecision(1) converte 4 em 5. O setprecision(2) não fez nada e exibe “4,5”. O setprecision(3) incrementou o valor de “4,52” para “4,53”. O setprecision(4) não faz nada com o valor “4.527”. O setprecision(5) incrementa o valor de “4,5274” para “4,5275”. O setprecision(0) incrementou o valor para 5. O setprecision(-1) e setprecision(-2) não fizeram nada conforme mostrado abaixo:
$ g++ novo.cc$. / fora
Exemplo 02:
Vamos dar uma olhada em outro exemplo. O código é semelhante ao exemplo acima, com apenas uma alteração nas instruções cout. O primeiro cout mostra os valores originais enquanto os próximos dois mostram o resultado de setprecision() nos pontos flutuantes 1 e 5. O último cout exibe o resultado do método setprecision() no ponto flutuante 9, que não está fisicamente disponível. Os resultados de ponto flutuante 1 e 5 são bastante esperados, mas não podemos dizer nada sobre o ponto flutuante 9. Vamos apenas executar o arquivo e verificar qual será a saída deste código:
#include#include
usando espaço para nome padrão ;
interno principal ( ) {
dobro em = 4.52749 ;
corte << 'Valor antes de setprecision:' << em << ' \n ' ;
corte << definir precisão ( 1 ) << 'Val em 1:' << em << ' \n ' ;
corte << definir precisão ( 5 ) << 'Val às 5:' << em << ' \n ' ;
corte << definir precisão ( 9 ) << 'Val às 9:' << em << ' \n ' ;
retornar 0 ;
}
Após a compilação e execução deste código, temos os resultados óbvios para setprecision nas localizações 1 e 3 do valor de ponto flutuante “4.52749”. O resultado do setprecision 9 mostra o valor real da variável dupla “v”. Isso pode ser devido ao fato de o valor do local 9 não ser fixo:
$ g++ novo.cc$. / fora
Vamos apenas atualizar o código novamente para corrigir os valores de uma variável “v”. Portanto, após a primeira instrução setprecision() cout aplicada na primeira localização da variável, usamos a variável fixa em cout:
#include#include
usando espaço para nome padrão ;
interno principal ( ) {
dobro em = 4.52749 ;
corte << 'Valor antes de setprecision:' << em << ' \n ' ;
corte << definir precisão ( 1 ) << 'Val em 1:' << em << ' \n ' ;
corte << fixo ;
corte << definir precisão ( 5 ) << 'Val às 5:' << em << ' \n ' ;
corte << definir precisão ( 9 ) << 'Val às 9:' << em << ' \n ' ;
retornar 0 ;
}
Após compilar e executar este código atualizado, temos o resultado fixo de setprecision na localização 9 de uma variável “v”, ou seja, 4,527490000:
$ g++ novo.cc$. / fora
Conclusão:
Por fim, tratava-se de usar o método setprecision() em código C++ para arredondar e exibir o valor de uma variável dupla. Também explicamos variáveis fixas no código e seus benefícios. Além disso, implementamos dois exemplos importantes para explicar o conceito de precisão de conjunto em C++. Esperamos que você tenha achado este artigo útil. Confira outros artigos do Linux Hint para mais dicas e tutoriais.