在IOS数据开发中 我们常使用基础数据类型来进行计算,但是float、double等格式下 整数据多位数时常出现系统自动修改值的情况(例如18--》18.000000001和17.99999999),对于一些需要精确计算的数据(例如金额),就需要使用NSDecimalNumber来计算。可以解决这个问题。
下面只是简要说明一下一些基本运算方式,苹果已经封装的很好了。NSDecimalNumber还可以用于科学技术法计算大数据,但是我还没使用过。。。这里就不介绍了。。
直接贴代码:
NSString *aStr=@"0.5";
NSString *bStr=@"0.25";
NSDecimalNumber *numberA=[NSDecimalNumber decimalNumberWithString:aStr];
NSDecimalNumber *numberB=[NSDecimalNumber decimalNumberWithString:bStr];
//A+B
NSDecimalNumber *resultANumber=[numberA decimalNumberByAdding:numberB];
//A/B
NSDecimalNumber *resultBNumber=[numberA decimalNumberByDividingBy:numberB]; //(B不能为0)
//A*B
NSDecimalNumber *resultCNumber=[numberA decimalNumberByMultiplyingBy:numberB];
//A*10的阶乘(传入参数为