iOS 浮点转字符串,去除小数点后多余的0

开发中常遇到浮点转字符串,然而不是所有情况都需要保留固定的小数位数,有时候为了视觉统一,我们需要把小数点后无效的0去除。常规的处理方法是转为NSNumber,但是依然会有精度丢失的情况,最优的方案是使用精准度更高的NSDecimalNumber来处理,可以有效避免精度丢失,又能保证去除多余的0:


NSString*testNum = @"0.07000";

// 常规转NSNumber方式

NSString*normalString = [NSString stringWithFormat:@"%@", @([testNum doubleValue])];

// NSDecimalNumber 方式

NSDecimalNumber*numDecimal = [NSDecimalNumber decimalNumberWithString: testNum];

NSString*numString = [NSString stringWithFormat:@"%@", numDecimal];

NSLog(@"normalString去零后 :%@\n numString去零后 :%@\n ", normalString, numString);

输出效果对比:


image.png

你可能感兴趣的:(iOS 浮点转字符串,去除小数点后多余的0)