如何提高浮点数变整数的精度

转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/52884497


在我们的产品设计中,经常会遇到浮点数变整数的时候,那么,我们首先看看,浮点数变整数的精度如何?


1、分别定义一个浮点数26.6和26.4,把这个数强制转换成整数后,是多少?

按理说,或者说,我们希望的结果,应该是四舍五入的27和26,但是结果是程序只取了整数部分,小数部分根本没有给我们四舍五入。


2、用 modf 函数,提取浮点数的小数部分。

     if  小数部分 < 0.5

         对这个浮点数不做处理,直接取整;
else
        这个浮点数加上 一或0.5后,再取整;

-------------------------------------------------------------------------------
函数名:modf
头文件:<math.h>
函数原型:double modf(double x, double *ipart)
函数用途:分解x,以得到x的整数和小数部分
输入参数:x
待分解的数输出参数:ipath x 的整数部分
返回值:x 的小数部分

3、直接使用  math.h  里的函数

ceil(x)返回不小于x的最小整数值(然后转换为double型)。

floor(x)返回不大于x的最大整数值。

round(x)返回x的四舍五入整数值。


posted @ 2016-10-21 16:21  隔壁王叔叔a  阅读(193)  评论(0编辑  收藏  举报