Cómo redondear un valor de punto flotante a dos lugares. Por ejemplo, 5.567 debería convertirse en 5.57 y 5.534 debería convertirse en 5.53
Primer método: – Uso de precisión flotante
C++
#include<bits/stdc++.h> using namespace std; int main() { float var = 37.66666; // Directly print the number with .2f precision cout << fixed << setprecision(2) << var; return 0; } // This code is contributed by shivanisinghss2110
C
#include <iostream> using namespace std; int main() { float var = 37.66666; // Directly print the number with .2f precision printf("%.2f", var); return 0; }
Output: 37.67
Segundo método: usar el encasillado de enteros Si estamos en Función, entonces, ¿cómo devolver dos valores de puntos decimales?
C++
#include <iostream> using namespace std; float round(float var) { // 37.66666 * 100 =3766.66 // 3766.66 + .5 =3767.16 for rounding off value // then type cast to int so value is 3767 // then divided by 100 so the value converted into 37.67 float value = (int)(var * 100 + .5); return (float)value / 100; } int main() { float var = 37.66666; cout << round(var); return 0; }
Output: 37.67
Tercer método: usando sprintf() y sscanf()
C++
#include <iostream> using namespace std; float round(float var) { // we use array of chars to store number // as a string. char str[40]; // Print in string the value of var // with two decimal point sprintf(str, "%.2f", var); // scan string value in var sscanf(str, "%f", &var); return var; } int main() { float var = 37.66666; cout << round(var); return 0; }
Output: 37.67
Este artículo es una contribución de Devanshu Agarwal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@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