修复越南货币double转成float精度缺失的问题

master
DESKTOP-C3M45P4\dengdan 2025-01-20 17:22:25 +08:00
parent b60e42bd8d
commit 1011f99f18
1 changed files with 4 additions and 3 deletions

View File

@ -92,7 +92,7 @@ public class VietnamGamotaRechargeController {
String ccId = "0";
String callbackInfo = roleId + "_" + itemId + "_" +ccId + "_" + type;
String orderNo = data.get("transaction_id");
String amount = String.valueOf(Float.parseFloat(data.get("amount")) * 100);
String amount = String.valueOf(Double.parseDouble(data.get("amount")) * 100);
Date time = new Date(System.currentTimeMillis());
String s = PayLogic.initOrder(callbackInfo, orderNo, amount, time, callbackInfo, PaySdkEnum.GAMOTA);
if ("ORDER_IS_EXIST".equals(s)) {
@ -104,14 +104,15 @@ public class VietnamGamotaRechargeController {
public static void main(String[] args) {
String url = "https://paygate.gamota.com/v1/services/check_transaction?api_key=" +"GMA202401-4B0C8B6C-C3B7290DEC0B";
Map<String,String> parms = new HashMap<>();
parms.put("transaction_id","GM250106688157G");
parms.put("transaction_id","GM250120253748A");
try {
String r = HttpUtils.doPost(url, parms);
System.out.println("越南gamota支付验证" + r);
Gson gson = new Gson();
GamotaObj obj = gson.fromJson(r, GamotaObj.class);
//
String amount = String.valueOf(Double.parseDouble(obj.getData().get("amount")) * 100);
System.out.println(obj.getError_code() + "----" + Double.parseDouble(obj.getData().get("amount")));
System.out.println("float----" + amount);
// String errorCode = map.get("error_code").toString();
// String data = map.get("data").toString();
// System.out.println(data);