微信支付金额是以分为单位的,这样很多人在传金额的时候是将商品的金额乘以100传给微信,不过这样会导致当客户下单结账的时候付款金额少于商品实际价格一分钱,至于为什么我也没办法理解
解决办法:
将商品的价格按小数点为区分标识将价格分成两部分,然后再拼接起来
NSArray *total_fee_Arr = [total_fee_test componentsSeparatedByString:@"."];
NSString *total_fee = [NSStrinstringWithFormat:@"%@%@",total_fee_Arr[0],total_fee_Arr[1]];
但是这样又会出现假如一个商品价格为0.01,这样拼接后价格就成了001,传给微信会导致微信通知我们金额不正确
解决方法:
//总额如果前面有0,保留去掉0之后的数据
-(NSString*)getTheCorrectNum:(NSString*)tempString
{
while ([tempString hasPrefix:@"0"])
{
tempString = [tempString substringFromIndex:1];
}
return tempString;
}