El formateo en las bibliotecas estándar de C++ se realiza mediante el uso de manipuladores, variables especiales u objetos que se colocan en el flujo de salida. Hay dos tipos de manipuladores de punto flotante, a saber, punto flotante fijo y punto flotante científico. Todos estos se definen en el encabezado <iostream> .
- Uso de la precisión: en la notación de punto flotante predeterminada, el campo de precisión especifica el número máximo de dígitos significativos que se mostrarán tanto antes como después del punto decimal, mientras que tanto en la notación fija como en la científica, el campo de precisión especifica exactamente cuántos dígitos se deben mostrar. mostrar después del punto decimal, incluso si son ceros decimales finales.
- std::fixed – Notación de punto flotante fijo : escribe valores de punto flotante en notación de punto fijo. El valor se representa con exactamente tantos dígitos en la parte decimal como se especifica en el campo de precisión (precisión) y sin parte de exponente.
- std::scientific – Notación científica de coma flotante: escribe valores de coma flotante en notación científica. El valor se representa siempre con un solo dígito antes del punto decimal, seguido del punto decimal y tantos dígitos decimales como el campo de precisión (precisión). Finalmente, esta notación siempre incluye una parte exponencial que consiste en la letra “ e ” seguida de un signo opcional y tres dígitos exponenciales.
- std::hexfloat – notación de punto flotante hexadecimal: genera el número deseado después de la conversión a formato hexadecimal después de la precisión de no. se inicializa (como se discutió en casos anteriores).
- std::defaultfloat – notación de punto flotante defaultfloat: genera el número deseado igual que el valor predeterminado después de la precisión de no. se inicializa (como se discutió en casos anteriores). Se utiliza principalmente para distinguir entre otros formatos utilizados para la comprensión del código.
// C++ code to demonstrate the // working of // std::fixed // std::scientific // std::hexfloat // std::defaultfloat #include <iostream> using namespace std; int main() { // Initializing floating point variable double a = 4.223234232; double b = 2323.0; // Specifying precision cout.precision(4); // Printing normal values cout << "Normal values of floating point numbers\na = " ; cout << a << "\nb = " << b << '\n' ; // Printing values using fixed ( till 4 ) cout << "Values using fixed \n" << std::fixed; cout << a << "\n" << b << '\n' ; // Printing values using scientific ( till 4 ) // after 4, exponent is used cout << "Values using scientific are : " << std::scientific << endl; cout << a << '\n' << b << '\n' ; // Printing values using hexfloat ( till 4 ) cout << "Values using hexfloat are : " << std::hexfloat << endl; cout << a << '\n' << b << '\n' ; // Printing values using defaultfloat ( till 4 ) // same as normal cout << "Values using defaultfloat are : " << std::defaultfloat << endl; cout << a << '\n' << b << '\n' ; return 0; } |
Producción:
Normal values of floating point numbers a = 4.223 b = 2323 Values using fixed 4.2232 2323.0000 Values using scientific are : 4.2232e+00 2.3230e+03 Values using hexfloat are : 0x1.0e49783b72695p+2 0x1.226p+11 Values using defaultfloat are : 4.223 2323
Este artículo es una contribución de Astha Tyagi . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA