zoukankan      html  css  js  c++  java
  • Object-C中的数字对象

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
    
        @autoreleasepool {
            
            /*
             Object-C中的数字对象:
             1.int,float,long,double等都是Object-C中的基本数据类型,不是对象,也就是说不能够向他们发送消息。
             2.有时需要将值类型作为对象使用,如NSArray,要求存储的必须是对象,因此不能直接将基本数据类型放入数组。
             3.如果需要存储基本数据类型(包括char),可以使用NSNumber类。
             */
            
            NSNumber *intNumber,*longNumber,*floatNumber,*charNumber,*doubleNumber;
            
            //int型值
            intNumber=[NSNumber numberWithInt:100];
            NSLog(@"%i",[intNumber intValue]);
            
            //long型值
            longNumber=[NSNumber numberWithLong:0xabcdef];
            NSLog(@"%lx",[longNumber longValue]);
            
            //char型值
            charNumber=[NSNumber numberWithChar:'A'];
            NSLog(@"%c",[charNumber charValue]);
            
            //float型值
            floatNumber=[NSNumber numberWithFloat:100.00];
            NSLog(@"%g",[floatNumber floatValue]);
            
            //double型值
            doubleNumber=[NSNumber numberWithDouble:12345e+15];
            NSLog(@"%lg",[doubleNumber doubleValue]);
            
            //验证两个值是否相等
            if([intNumber isEqualToNumber:floatNumber]==YES)
            {
                NSLog(@"%i和%g比较,值相等",[intNumber intValue],[floatNumber floatValue]);
            }
            else
            {
                NSLog(@"%i和%g比较,值不等",[intNumber intValue],[floatNumber floatValue]);
            }
            
            //两个值比较大小
            if([intNumber compare:floatNumber]==NSOrderedAscending)
            {
                NSLog(@"%i和%g比较,第一个数<第二个数",[intNumber intValue],[floatNumber floatValue]);
            }
            else
            {
                NSLog(@"%i和%g比较,第一个数≥第二个数",[intNumber intValue],[floatNumber floatValue]);
            }
        }
        return 0;
    }

    输出结果:

    2014-02-12 21:59:34.847 04.数字[1229:303] 100

    2014-02-12 21:59:34.849 04.数字[1229:303] abcdef

    2014-02-12 21:59:34.849 04.数字[1229:303] A

    2014-02-12 21:59:34.850 04.数字[1229:303] 100

    2014-02-12 21:59:34.850 04.数字[1229:303] 1.2345e+19

    2014-02-12 21:59:34.850 04.数字[1229:303] 100100比较,值相等

    2014-02-12 21:59:34.851 04.数字[1229:303] 100100比较,第一个数第二个数

    Program ended with exit code: 0



  • 相关阅读:
    关于CSS单位:rem vh vw vmin vmax
    关于遍历一个数组的几种方法的比较
    关于ng的过滤器的详细解释angular-filter
    angular的路由跳转,的监听$rootScope.$on
    js经典校验之注册与登录校验
    CSS制作的32种图形效果[梯形|三角|椭圆|平行四边形|菱形|四分之一圆|旗帜]
    js的with语句使用方法
    js的DOM节点操作:创建 ,插入,删除,复制,查找节点
    js中的如何定位固定层的位置
    CommonJS、requirejs、ES6的对比
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/3618408.html
Copyright © 2011-2022 走看看