比较ios中的小数点

时间:2014-06-30 11:35:43

标签: macos decimal

在Mac OS中比较系统版本时出现问题。 我目前在10.8.4山狮上工作,我需要与Mac OS是否为10.9及以上进行比较。

1 个答案:

答案 0 :(得分:0)

使用NSNumericSearch将它们作为字符串进行比较。

[@"10.8.4" compare:@"10.9" options:NSNumericSearch];

此方法的返回值为NSComparisonResult。如果left参数小于右参数,则返回常量NSOrderedAscending。如果右参数较小,则返回常量NSOrderedDescending。如果它们相等,则返回常量NSOrderedSame


if ([@"10.8.4" compare:@"10.9" options:NSNumericSearch] < NSOrderedAscending) {
    // 10.8.4 is smaller than 10.9
}

if ([@"10.10" compare:@"10.9" options:NSNumericSearch] < NSOrderedDescending) {
    // 10.10 is larger than 10.9
}

NSNumericSearch选项对于第一次比较并不特别重要,但它们确实在第二次比较中有所作为。没有NSNumericSearch,字符串将逐字符地进行比较,并且1&lt;因此,它声称10.10是&lt; 9.10。 10.9。