zoukankan      html  css  js  c++  java
  • 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
    ", 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
    ", sum );
    
       return 0;
    }

    上面代码编译执行后的结果:

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

    sum是116,因为编译器在执行实际的加法操作之前,先将'c'转换成了ascii值。

    通常的数据转换流程一般从低向高转换,如果从高向低转换会造成数据的丢失。如下图所示:

  • 相关阅读:
    .NET牛人应该知道些什么
    秋梦
    感谢你走进我的生命里
    漂流有感
    QQ在跳舞
    青春无痕
    名人只是传说,你我才是传奇
    祝福紫秋
    可以用在任何人身上:百战百胜人生10大成功秘诀
    c#发送邮件
  • 原文地址:https://www.cnblogs.com/xujinzhong/p/8422592.html
Copyright © 2011-2022 走看看