开发者社区> 问答> 正文

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

展开
收起
爵霸 2016-05-27 11:01:42 1668 0
1 条回答
写回答
取消 提交回答
  • if (([payment doubleValue] - floor([payment doubleValue]) < 0.01) {
        [formatter setMaximumFractionDigits: 0];
    }

    这样就行了。

    2019-07-17 19:17:22
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载