OC進一法和去尾法
阿新 • • 發佈:2019-02-03
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);
其中原理非常簡單,所以就不做詳細說明了。