首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C中怎么将两个float类型的变量相除,且结果保留5位小数位

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

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;
}
[解决办法]
你不能控制浮点数除法,只能在把其结果序列化/输出的时候,才可以控制精度。

热点排行