C语言整数类型转换函数

概述

本人之前从来不知道C语言有类型转换函数,一般的书上也没有介绍这些函数,今天用到一个要去float的整数部分的功能,于是就强制类型转换。虽然知道强制转换是抛弃其小数部分,但是如果我要用四舍五入的方法呢?

强制类型转换

使用GCC编译器,版本为TDM-GCC 4.9.2

	float a,b;
	a = 186.453;
	b = 186.999;
	int n = (int)(a);
	int m = (int)(b);
	cout << n << '\n' <<m;

运行结果:

186
186

分析:

在C++中,发现强制类型转换并不会四舍五入,会抛弃其小数部分,也就是说验证了其正确性;

ceil(往上取最小整数)/round(四舍五入)/floor(取整数部分)

可以点击下面链接,写的挺好的
https://blog.csdn.net/aouixh/article/details/53483556

这里总结一下:
有一个数据1.234
1.我要取整数部分,要1
可以使用floor函数(地板的意思),也可以强制转换;
2.我取比这个数大,即我要数据为2
可以使用方法1加上一个整数1,也可以使用ceil函数;
3.我要四舍五入的值
使用函数round;
(注意,还有一种取巧的方法,就是让这个数加上0.5f,具体实现方法可以自己想一想)

说明一下,在C中的math.h中有2中定义
double ceil(double x);
float ceil(float x);
在c++中,增加
long double ceil(long double x);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值