Redondeo de número de coma flotante a dos lugares decimales en C y C++

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *