iOS 小数只舍不入

网上找的大部分实现的方式,要么个别情况下程序有问题,要么程序实现方式个人不喜欢。

最终解决方案:

// 小数不四舍五入转化字符串
+ (NSString *)notRounding:(double)num point:(int)point
{
    if (point >= 0) {
        NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
        formatter.roundingMode = NSNumberFormatterRoundDown; 
        formatter.minimumIntegerDigits = 1;             // 最少一位整数部分
        formatter.minimumFractionDigits = point;        // 最少xx位小数部分
        formatter.maximumFractionDigits = point;        // 最多xx位小数部分
        return [formatter stringFromNumber:@(num)];
    }else {
        return [NSString stringWithFormat:@"%f",num];
    }
}

// 若不设置formatter.minimumIntegerDigits = 1,当num=0.01这种情况,会格式化为.01

你可能感兴趣的:(iOS 小数只舍不入)