为什么是result
NSOrderedDescending
?
NSDecimalNumber *decimal = [[NSDecimalNumber alloc] initWithString:@"2.6"];
NSComparisonResult result = [decimal compare:[NSNumber numberWithFloat:2.6]];
为什么是result
NSOrderedDescending
?
NSDecimalNumber *decimal = [[NSDecimalNumber alloc] initWithString:@"2.6"];
NSComparisonResult result = [decimal compare:[NSNumber numberWithFloat:2.6]];
2.6
不能精确地表示为浮点数,但NSDecimal
可以精确地表示这个值(这就是我们首先需要 NSDecimals 的原因)。
根据IEEE 754 计算器,2.6
转换为2.5999999046325684
,小于2.6
,因此比较为NSOrderedDescending
。