- (NSString *)getDealNumwithstring:(NSString *)string withNumCount:(NSInteger)integer{ NSDecimalNumber *numberA = [NSDecimalNumber decimalNumberWithString:string]; NSDecimalNumber *numberB ; if (integer == 4) { numberB = [NSDecimalNumber decimalNumberWithString:@"10000"]; } else if (integer == 8){ numberB = [NSDecimalNumber decimalNumberWithString:@"100000000"]; }else{ numberB = [NSDecimalNumber decimalNumberWithString:@"10000"]; } //NSDecimalNumberBehaviors對象的創建 參數 1.RoundingMode 一個取舍枚舉值 2.scale 處理范圍 3.raiseOnExactness 精確出現異常是否拋出原因 4.raiseOnOverflow 上溢出是否拋出原因 4.raiseOnUnderflow 下溢出是否拋出原因 5.raiseOnDivideByZero 除以0是否拋出原因。 NSDecimalNumberHandler *roundingBehavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO]; /// 這里不僅包含Multiply還有加 減 乘。 NSDecimalNumber *numResult = [numberA decimalNumberByDividingBy:numberB withBehavior:roundingBehavior]; NSString *strResult = [numResult stringValue]; return strResult; }