gpt4 book ai didi

objective-c - 比较 NSDecimalNumber 行不通?

转载 作者:搜寻专家 更新时间:2023-10-30 20:02:59 29 4
gpt4 key购买 nike

出于某种原因,比较逻辑无法正常工作……它不会比较两个 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");
}

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

最佳答案

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

if ([number compare:number2] == NSOrderedAscending)

NSDecimalNumber Class Reference

关于objective-c - 比较 NSDecimalNumber 行不通?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15713679/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com