读书人

C中怎么将两个float类型的变量相除且

发布时间: 2013-04-07 12:50:11 作者: rapoo

C中如何将两个float类型的变量相除,且结果保留5位小数位?
我定义了以下三个float类型的变量


float num1 = 102.45165f;
float num2 = 24.84254f;
float result = 0.0f;

我应该怎么编写代码,才能使num1除以num2的结果(包括整数部分和小数部分,且小数部分要保留5位小数)保存在result变量中呢?
[解决办法]
float精度有限,如果精度要求比较高,一般使用double
    float num1 = 102.45165f;
float num2 = 24.84254f;
float result = num1/num2;
printf("%.5f\n" ,result);

[解决办法]
double numberWithPrecision(double number, int precision) {
double t = pow(10, precision);
return ((int)(number * t + 0.5)) / t;
}
[解决办法]
你不能控制浮点数除法,只能在把其结果序列化/输出的时候,才可以控制精度。

读书人网 >C++

热点推荐