Salida con formato C ++

Cada flujo de salida tiene una función de miembro de precisión. Una vez que se llama a la función de precisión para un determinado flujo de salida, cuando se envía un número con un punto decimal al flujo, se reserva un total de dos dígitos significativos o se reservan dos dígitos después del punto decimal. El método de implementación específico Determinado por el compilador. La función de precisión solo es efectiva para el flujo especificado.
La función de miembro setf es la abreviatura de set flags, no de set format. Es una instrucción para hacer una cosa de forma alternativa.

La bandera ios :: fixed hace que la secuencia use la notación de punto fijo para generar números de tipo doble en lugar de usar la notación e

La bandera ios :: showpoint requiere que la secuencia incluya siempre un punto decimal en los números de punto flotante.

La bandera ios :: scientific generará números en notación electrónica.

ios :: showpos generará un signo + antes de un entero positivo

Si se usa la bandera ios :: right, y se usa width para especificar el ancho del campo, el siguiente elemento de salida se alineará a la derecha. El valor predeterminado es este

Si se usa el indicador ios :: left y el ancho se usa para especificar el ancho del campo, el siguiente elemento de salida se alineará a la izquierda con la función del miembro de ancho para establecer el ancho del campo. P.ej:

cout << "a";    
    cout.width(4);
    cout << 7 << endl;

Luego, genere un 7. Hay 3 espacios entre ay 7, porque el sistema por defecto establece ios :: right para alinear a la derecha.

Tenga en cuenta que la función de miembro de ancho solo es adecuada para que se genere el siguiente elemento. Si desea generar varios elementos, debe llamar al ancho varias veces. Si lo encuentra problemático, puede usar el elemento de manipulación de flujo setw.

Cualquier bandera que se establezca se puede cancelar llamando a la función miembro unsetf, por ejemplo:

  cout.unsetf(ios::showpos);

Puede cancelar el signo + antes del entero positivo.

configurar y configurar manipuladores de precisión.

操纵元是以非传统的方式调用的函数。操纵元位于插入操作符 << 之后。两个操纵元均在 iomanip 库中,要想使用,需要调用该库。

El manipulador de setw tiene la misma función que la función de miembro de ancho. Si desea establecer el ancho del campo varias veces, debe llamar al manipulador de setw varias veces. De hecho, el manipulador de setw llama a la función de miembro de ancho. El siguiente código:

  cout << "a" << set(5) << 1    
                << set(5) << 2
                << set(7) << 3 << endl;
                

El resultado de esta oración es: a 1 2 3. Hay 4 espacios antes del 1, 2 y 6 espacios antes del 3.

  setprecision 操纵元和 precision 成员函数功能一样。如下代码:
  cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout << "a" << setprecision(2) << 1.2
                                 << 2.3 << endl;

El manipulador setprecision es el mismo que la función de miembro de precisión y siempre es efectivo después del ajuste. La salida del ejemplo anterior: 1.20 2.30.
Es mejor aplicar lo que ha aprendido, y puede haber deficiencias en lo anterior, señale la discusión.
(Más C / C ++, Linux, Nginx, ZeroMQ, MySQL, Redis, fastdfs, MongoDB, ZK, medios de transmisión, CDN, P2P, K8S, Docker, TCP / IP, coroutine, DPDK, etc. Material didáctico más grupo 960994558)

Supongo que te gusta

Origin blog.csdn.net/weixin_52622200/article/details/110404678
Recomendado
Clasificación