c/c++浮点型数据转换成整型数据

在c/c++中我们经常由于需要,要把浮点型数据(float、double)转换成整形数据(各种int),下面我给大家介绍一下我所知道的,希望能给大家以后的编程带来方便:

1.普通的强制转换:可实现 “下行”整型化——即将浮点数变成小于它的最大整数

c标准     int i;

             double x=5.4;

             i=(int)x;

            此时我们得到的i的值为5;即将浮点型的小数部分去掉。

c++标准   int i;

               double x=5.4;

               i=int(x);

            所得结果与前者一样,i的值为5,即将浮点型的小数部分去掉。

2.实现四舍五入(m舍n入):

想几舍几入最简单的办法是在原数上加个0.n就可以了,如:想四舍五入就——5.4  int(5.4+0.5)=5

                                                                                                                        5.5   int(5.5+0.5)=6

                                                                                又如:想二舍三入就——5.2  int(5.2+0.7)=5  
                                                                                                                      5.3 int(5.3+0.7)=6 

3.实现“上行”整型化:即

①使用c/c++标准库函数:ceil()  需要加载头文件c中加载#include<math.h>  c++中加载#include<cmath>

具体如:int i;      double x=5.4;        i=ceil(x);      // i 等于6

             int i;       double=2.0;          i=ceil(x);      // i 等于2

②自己编写函数,实现“上行”整型化:即将浮点数转换成大于它的最小的整数。

举例—if(x-(int)x)  i=(int)x+1;   //如果 x-(int)x不等于0(这里实际上是 大于0),则 i 等于 i 的“下行”整型化加1   

               else i=(int)x;           //否则(即x-(int)x=0) i 等于(int)i   这里表面上是进行了“下行”运算,实际上

                                              x=n.0    (int) x 就是将 2.0 变成 2  。

  • 12
    点赞
  • 31
    收藏
  • 2
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 2
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值