网上找的大部分实现的方式,要么个别情况下程序有问题,要么程序实现方式个人不喜欢。
最终解决方案:
// 小数不四舍五入转化字符串
+ (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
网友评论