iOS 输入金额费率,充值保留两位小数

   double money=[strAmt doubleValue];//输入金额

feeRate=responseData[@"feeRate"];//后台返回费率

//计算服务费

                    double serviceCharge=money*([feeRate doubleValue]/100);

                    NSString *fourPointStr=[self formatStringAfterPoint:[NSString stringWithFormat:@"%.4f",serviceCharge]];    //两位小数四舍五入

                     serviceCharge=[fourPointStr doubleValue];   //拿这个真正的费率去显示和后面的计算

 

//四舍五入   龙哥给的方法

-(NSString *)formatStringAfterPoint:(NSString *)amtStr{

    NSDecimalNumber *num=[NSDecimalNumber decimalNumberWithString:amtStr];

//规定保留两位小数

    NSDecimalNumberHandler *handler = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];

    num=[num decimalNumberByRoundingAccordingToBehavior:handler];

    return num.stringValue;

}

 

更详细的参考:https://www.jianshu.com/p/b273358546e5

你可能感兴趣的:(苹果)