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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。