比较NSDecimalNumber不起作用?

Jam*_*ald 3 objective-c nsdecimalnumber

由于某种原因,比较逻辑无法正常工作......它不会比较两个NSDecimalNumber对象.有时候它有效,有时则不然.真的很奇怪.if语句适用于某些编译,有时不适用.这是正确的做法吗?

数据来自json文件,这是一个2点十进制数字,如下所示: 63.32

为什么这不正常?

NSError * error;
    NSDictionary * json = [NSJSONSerialization JSONObjectWithData:responceData options:kNilOptions error:error];
    NSArray * latestPrice = [json objectForKey:@"data"];
    NSLog(@"Latest price %@", latestPrice);

    NSNumber * value = [(NSDictionary*)[latestPrice objectForKey:@"last_offer"] objectForKey:@"display"];

    NSString * val = [[NSString alloc] initWithFormat:@"%@", value];
    NSString * valFinal = [val stringByTrimmingCharactersInSet:[NSCharacterSet symbolCharacterSet]];
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:valFinal];
    NSLog(@"%@", number);
    NSString * val2 = [[NSString alloc] initWithString:@"44.14"];
    NSDecimalNumber *number2 = [NSDecimalNumber decimalNumberWithString:val2];
    if(number2 >= number){
    NSLog(@"ds");
    }
Run Code Online (Sandbox Code Playgroud)

我需要将json值与具有相同小数点的本地值进行比较.

Ser*_*nov 5

NSDecimalNumber是一个对象.您试图比较内存地址.
使用compare:实例方法NSDecimalNumber.

if ([number compare:number2] == NSOrderedAscending)
Run Code Online (Sandbox Code Playgroud)

NSDecimalNumber类参考