From a0ffff71c4d0f86b7766e4cbdfd4ff86076292a7 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Fri, 28 Nov 2025 09:43:25 +0630 Subject: [PATCH] qr decimal fix --- .../java/com/utsmm/kbz/ui/kpay/QRConnectingFragment.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/kpay/QRConnectingFragment.java b/app/src/main/java/com/utsmm/kbz/ui/kpay/QRConnectingFragment.java index 8d5de0a..779141b 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/kpay/QRConnectingFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/kpay/QRConnectingFragment.java @@ -25,6 +25,7 @@ import com.utsmm.kbz.ui.core_viewmodel.SharedViewModel; import com.utsmm.kbz.util.TransactionUtil; import com.utsmm.kbz.util.ecr.CoreUtils; +import java.text.DecimalFormat; import java.util.Locale; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; @@ -135,10 +136,14 @@ public class QRConnectingFragment extends DataBindingFragment implements DataBin } private void generateQR() { - + long originalAmount = payDetail.getAmount(); // String amount = String.format(Locale.getDefault(), "%.2f", payDetail.getAmount()/100.0); - String amount = String.format(Locale.getDefault(), "%d", (int)(payDetail.getAmount()/100.0)); +// String amount = String.format(Locale.getDefault(), "%d", (int)(payDetail.getAmount()/100.0)); //this method have problem for 10055 to 100.00 auto convert (should convert to 100.55) + + double realAmount = payDetail.getAmount() / 100.0; + DecimalFormat df = new DecimalFormat("0.00"); + String amount = df.format(realAmount); KPayQRRequest.QrRequest kPayQRRequest = KPayViewModel.createQR(amount, merchantId);