2 vikeytoy vikeyToy 于 2012.11.26 10:28 提问

检测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

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

1个回答

lanhailvcao
lanhailvcao   2012.11.26 10:54
已采纳
if (([payment doubleValue] - floor([payment doubleValue]) < 0.01) {
    [formatter setMaximumFractionDigits: 0];
}

这样就行了。

vikeyToy
vikeyToy 运行正常,谢谢
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!