Biblioteca C ++ ios - Função Fixa

Descrição

É usado para definir o sinalizador de formato floatfield para o fluxo str como fixo. Quando floatfield é definido como fixo, os valores de ponto flutuante são escritos usando a notação de ponto fixo: o valor é representado exatamente com tantos dígitos na parte decimal como especificado pelo campo de precisão (precisão) e sem parte do expoente.

C ++ 98

O sinalizador de formato floatfield é um sinalizador seletivo e alternativo: ele pode ter um, ambos ou nenhum dos seguintes valores, conforme mostrado abaixo -

Valor da bandeira Efeito quando definido
fixo escrever valores de ponto flutuante em notação de ponto fixo
científico escrever valores de ponto flutuante em notação científica.
(Nenhum) escrever valores de ponto flutuante na notação de ponto flutuante padrão.

C ++ 11

O sinalizador de formato floatfield é seletivo e alternativo: ele pode assumir qualquer um dos seguintes valores ou nenhum como mostrado abaixo -

Valor da bandeira Efeito quando definido
fixo escrever valores de ponto flutuante em notação de ponto fixo.
científico escrever valores de ponto flutuante em notação científica.
hexfloat

escrever valores de ponto flutuante em formato hexadecimal.

O valor disso é o mesmo que (fixed|scientific)

flutuar escrever valores de ponto flutuante na notação de ponto flutuante padrão. Este é o valor padrão (igual a nenhum, antes de qualquer outroFloatfield bit está definido).

Declaração

A seguir está a declaração para a função std :: fixed.

ios_base& fixed (ios_base& str);

Parâmetros

str - Objeto de fluxo cujo sinalizador de formato é afetado.

Valor de retorno

Ele retorna Argument str.

Exceções

Basic guarantee - se uma exceção for lançada, str está em um estado válido.

Corridas de dados

Ele modifica str. O acesso simultâneo ao mesmo objeto de fluxo pode causar disputas de dados.

Exemplo

No exemplo abaixo explica sobre a função std :: fixed.

#include <iostream>     

int main () {
   double a = 3.1415926534;
   double b = 2006.0;
   double c = 1.0e-10;

   std::cout.precision(5);

   std::cout << "default:\n";
   std::cout << a << '\n' << b << '\n' << c << '\n';

   std::cout << '\n';

   std::cout << "fixed:\n" << std::fixed;
   std::cout << a << '\n' << b << '\n' << c << '\n';

   std::cout << '\n';

   std::cout << "scientific:\n" << std::scientific;
   std::cout << a << '\n' << b << '\n' << c << '\n';
   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

default:
3.1416
2006
1e-010

fixed:
3.14159
2006.00000
0.00000

scientific:
3.14159e+000
2.00600e+003
1.00000e-010