// // NSDecimalNumber+Addtion.h // 有应用应用 // // Created by xuliying on 15/10/15. // Copyright (c) 2015年 xly. All rights reserved. // #import typedef NS_ENUM(NSInteger, calculationType) { Add, Subtract, Multiply, Divide }; typedef enum : NSInteger { LMJDY = NSOrderedDescending, // 大于号 LMJXY = NSOrderedAscending, // 小于号 LMJDD = NSOrderedSame, // 相等 } LMJMoneyCompare; @interface NSDecimalNumber (Addtion) /** 高精度加减乘除 @param stringOrNumber1 第一个数字 @param type 加减乘除 @param stringOrNumber2 第二个数字 @param handler 处理类型 @return 对象 */ +(NSDecimalNumber *)aDecimalNumberWithStringOrNumberOrDecimalNumber:(id)stringOrNumber1 type:(calculationType)type anotherDecimalNumberWithStringOrNumberOrDecimalNumber:(id)stringOrNumber2 andDecimalNumberHandler:(NSDecimalNumberHandler *)handler; /** 2个数字的比较 */ +(NSComparisonResult)aDecimalNumberWithStringOrNumberOrDecimalNumber:(id)stringOrNumber1 compareAnotherDecimalNumberWithStringOrNumberOrDecimalNumber:(id)stringOrNumber2; /** 把一个数字放大或者缩小 */ +(NSString *)stringWithDecimalNumber:(NSDecimalNumber *)str1 scale:(NSInteger)scale; /** 比较 */ extern NSComparisonResult StrNumCompare(id str1,id str2); /** 处理数字 */ extern NSDecimalNumber *handlerDecimalNumber(id strOrNum,NSRoundingMode mode,int scale); /** 比较 */ extern NSComparisonResult SNCompare(id strOrNum1,id strOrNum2); /** 加减乘除 */ extern NSDecimalNumber *SNAdd(id strOrNum1,id strOrNum2); extern NSDecimalNumber *SNSub(id strOrNum1,id strOrNum2); extern NSDecimalNumber *SNMul(id strOrNum1,id strOrNum2); extern NSDecimalNumber *SNDiv(id strOrNum1,id strOrNum2); /** 比较厚返回小数字 */ extern NSDecimalNumber *SNMin(id strOrNum1,id strOrNum2); extern NSDecimalNumber *SNMax(id strOrNum1,id strOrNum2); extern NSDecimalNumber *SNAdd_handler(id strOrNum1,id strOrNum2,NSRoundingMode mode,int scale); extern NSDecimalNumber *SNSub_handler(id strOrNum1,id strOrNum2,NSRoundingMode mode,int scale); extern NSDecimalNumber *SNMul_handler(id strOrNum1,id strOrNum2,NSRoundingMode mode,int scale); extern NSDecimalNumber *SNDiv_handler(id strOrNum1,id strOrNum2,NSRoundingMode mode,int scale); extern NSDecimalNumber *SNMin_handler(id strOrNum1,id strOrNum2,NSRoundingMode mode,int scale); extern NSDecimalNumber *SNMax_handler(id strOrNum1,id strOrNum2,NSRoundingMode mode,int scale); @end