美文网首页iOS
iOS开发中小数显示错误的解决方法

iOS开发中小数显示错误的解决方法

作者: 无神 | 来源:发表于2016-12-01 16:57 被阅读156次

项目开发的过程中经常会涉及到钱的问题,涉及到钱的地方,显示的时候一般是要求精确到分的,就是两位小数(例如:¥9.99)。但是由于系统的原因,有的时候显示的并非预期的结果,比如¥99.9显示成了¥99.9000001

打印请求数据一看,控制台显示的就是 99.9000001,一开始以为是服务器返回出错了,但是和android的一对比,就会发现这其实是iOS平台的解析的问题。遇到这种情况,就需要我们自己进行数据的转化,以达到预期的结果,代码如下:

NSString的一个类别方法

/** 字符串小数格式化 
@return 小数字符串 */
- (NSString *)decimalNumberString {      

 NSString *numberString = [NSString stringWithFormat:@"%lf",[self doubleValue]];   
 return [NSString stringWithFormat:@"%@",[NSDecimalNumber decimalNumberWithString:numberString]];
}

如果涉及到乘积,则相乘的结果也要做如上的转换,否则乘积的结果还是可能出现小数点后面很多位小数的问题。

温馨提示:计算涉及到金额的地方,最好使用double来接收,不要使用float或者CGFloat类型,后两者会出现莫名其妙的显示!

相关文章

网友评论

    本文标题:iOS开发中小数显示错误的解决方法

    本文链接:https://www.haomeiwen.com/subject/qinxmttx.html