OGeek|极客世界-中国程序员成长平台

标题: objective-c - NSDecimalNumber 比较失败 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:28
标题: objective-c - NSDecimalNumber 比较失败

为什么是result NSOrderedDescending

NSDecimalNumber *decimal = [[NSDecimalNumber alloc] initWithString"2.6"];

NSComparisonResult result = [decimal compare:[NSNumber numberWithFloat:2.6]];



Best Answer-推荐答案


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