为什么是result NSOrderedDescending ?
NSDecimalNumber *decimal = [[NSDecimalNumber alloc] initWithString"2.6"];
NSComparisonResult result = [decimal compare:[NSNumber numberWithFloat:2.6]];
Best Answer-推荐答案 strong>
2.6 不能准确地表示为 float ,但 NSDecimal 可以准确地表示这个值(这就是我们首先需要 NSDecimals 的原因)。
根据IEEE 754 Calculator , 2.6 被转换为 2.5999999046325684 ,小于 2.6 ,因此比较为 NSOrderedDescending 。
关于objective-c - NSDecimalNumber 比较失败,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/11749033/
|