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);
其中原理非常簡單,所以就不做詳細說明了。