Objective-C 類型轉換,objective-c轉換

來源:互聯網
上載者:User

Objective-C 類型轉換,objective-c轉換

類型轉換通常是指變數,從一種類型轉換成另外一種類型。例如將一個long類型轉換成int類型,變數轉換通常

用下面的方式:

(type_name) expression

 

在Objective-C中,我們通常使用CGFloat來做浮點運算,32位是float類型,64位是double類型,通常轉換方式

如下操作:

#import <Foundation/Foundation.h>int main(){   int sum = 17, count = 5;   CGFloat mean;   mean = (CGFloat) sum / count;   NSLog(@"Value of mean : %f\n", mean );   return 0;}

上面代碼編譯執行後的結果:

2013-09-11 01:35:40.047 demo[20634] Value of mean : 3.400000

這裡說明一下,變數的類型轉換優先順序高於除法,即sum優先轉換為double類型(64位情況下),最後通過產生的double值進行除法計算。

類型的轉換可以是隱式的,由編譯器自動執行。

 

下面是int類型轉換成方式如下代碼:

#import <Foundation/Foundation.h>int main(){   int  i = 17;   char c = 'c'; /* ascii value is 99 */   int sum;   sum = i + c;   NSLog(@"Value of sum : %d\n", sum );   return 0;}

上面代碼編譯執行後的結果:

2013-09-11 01:38:28.492 demo[980] Value of sum : 116

sum是116,因為編譯器在執行實際的加法操作之前,先將'c'轉換成了ascii值。

 

通常的資料轉換流程一般從低向高轉換,如果從高向低轉換會造成資料的丟失。如所示:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.