ios开发中涉及到和货币价格计算相关的,都需要注意计算精度的问题。
服务器有可能返回的金钱是int float double string NSNumber, 单纯的float、double的计算都会出现精度问题,即使只是两位小数,也会出现误差。
苹果为我们提供了NSDecimalNumber的API来处理金钱的计算的问题:
1、字符串转float等不精确问题。
2、精确计算
3、保留小数位数
4、四舍五入及其它的保留小数位数规则
直接上代码(已封装)
.h
|
|
.m
|
|