Como usar Setprecision em C++

Como Usar Setprecision Em C



Você pode ter aprendido e estudado os valores de ponto flutuante e a notação científica em matemática e física. Você também pode ter aprendido a realizar arredondamentos em números de ponto flutuante. O utilitário setprecision em C++ é frequentemente usado para alterar a sequência de números exibidos dentro de uma sequência de saída inteira de ponto flutuante. Funciona da mesma forma que a funcionalidade de arredondamento. Este método é definido na biblioteca padrão . Neste tutorial, mostraremos como usar a função “setprecision” do C++. Então vamos começar. Devemos iniciar o aplicativo shell do Ubuntu através de “Ctrl+Alt+T” para trabalhar nele. Temos que inicializar a instalação do compilador C++, que é g++ no nosso caso. Portanto, o pacote apt será utilizado para este propósito até agora. O sistema instalará o g++ em apenas alguns segundos: $ sudo apto instalar g++

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.