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

转载请注明出处: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的四舍五入整数值。


转载于:https://www.cnblogs.com/alan666/p/8312096.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值