检测NSNumber后面的数字是不是.00

用到一个方法,创建NSNumber数字类似钱形式的。

 + (NSString *)formatShortPayment: (NSNumber *)payment {

    if (![payment isEqual: [NSNull null]]) {
        NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
        NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
        [formatter setLocale: locale];
        [formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
        if ([payment doubleValue] >= 1000.0) {
            [formatter setMaximumFractionDigits: 0];
            payment = [NSNumber numberWithFloat:([payment floatValue] / 1000)];
        }
        else {   
        }
        return [formatter stringFromNumber: payment];

    }

    return nil;
}

如果数值小于1000.0要检测小数点后面的数字是不是.00,如果是就移除.00

比如:

25.00 => 25
13.29 => 13.29

不知道这个功能如何实现?多谢指点。

if (([payment doubleValue] - floor([payment doubleValue]) < 0.01) {
    [formatter setMaximumFractionDigits: 0];
}

这样就行了。