📜  在C和C++中将浮点数四舍五入到两个小数位

📅  最后修改于: 2021-05-25 18:47:40             🧑  作者: Mango

如何将floatig点值四舍五入到两个位置。例如,5.567应该变成5.57,5.534应该变成5.53

第一种方法:-使用浮点精度

#include 
using namespace std;
int main()
{
    float var = 37.66666;
  
    // Directly print the number with .2f precision
    printf("%.2f", var); 
    return 0;
}
Output:
37.67

第二种方法:使用整数类型转换如果我们在函数,那么如何返回两个小数点值

#include 
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

第三种方法:使用sprintf()和sscanf()

#include 
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
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。