何らかの理由で、比較ロジックが正しく機能していません... 2 つの NSDecimalNumber オブジェクトを比較しません。うまくいくこともあれば、うまくいかないこともあります。本当に奇妙です。if ステートメントは、一部のコンパイルでは機能しますが、機能しない場合もあります。これは正しい方法ですか?
データは、次のような 2 ポイントの 10 進数である json ファイルからのものです。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 値を同じ小数点を持つローカル値と比較する必要があります。