1. 程式人生 > >OC進一法和去尾法

OC進一法和去尾法

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);

其中原理非常簡單,所以就不做詳細說明了。