Objective-C浮点数转化整数(向上取整向下取整)

Posted 子非余安知余子非

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Objective-C浮点数转化整数(向上取整向下取整)相关的知识,希望对你有一定的参考价值。

Objective-C拓展了C,自然很多用法是和C一致的。比如浮点数转化成整数,就有以下四种情况。 
1.简单粗暴,直接转化

float f = 1.5; int a; a = (int)f; NSLog("a = %d",a);

输出结果是1。(int)是强制类型转化,丢弃浮点数的小数部分。

2.高斯函数,向下取整

float f = 1.6; int a; a = floor(f); NSLog("a = %d",a);

输出结果是1。floor()方法是向下取整,类似于数学中的高斯函数 [].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1.

3.ceil函数,向上取整。

float f = 1.5; int a; a = ceil(f); NSLog("a = %d",a);

输出结果是2。ceil()方法是向上取整,取得不小于浮点数的最小整数,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分.

4.通过强制类型转换四舍五入。

float f = 1.5; int a; a = (int)(f+0.5); NSLog("a = %d",a);

以上是关于Objective-C浮点数转化整数(向上取整向下取整)的主要内容,如果未能解决你的问题,请参考以下文章

python两种除法区别以及向上向下取整

Python向上向下向0取整;

python浮点数与整数间的转化

iOS-关于一些取整方式

c语言中的取整函数int语句怎么用?

lua浮点数取整