如何将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基础课程》。