为什么是result
NSOrderedDescending
?
NSDecimalNumber *decimal = [[NSDecimalNumber alloc] initWithString"2.6"];
NSComparisonResult result = [decimal compare:[NSNumber numberWithFloat:2.6]];
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/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |