From a8751388c9a86ae95714a15279994d8aa426a26d Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 13 六月 2025 14:59:02 +0800
Subject: [PATCH] feat(generallibrary): 优化充值功能并添加水价获取- 在 activity_recharge_detail.xml 中移除了不必要的 bold 样式- 在 EditText 中添加了金额输入限制(数字和小数点)- 在 BaseApplication 中添加了水价信息存储 - 在 MainActivity 中实现了延时获取水价的功能- 优化了 RechargeDetailActivity 中的水价检查和使用逻辑 - 在 README.md 中添加了金额格式化和水价获取的最佳实践指南

---
 baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java b/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java
index f19ab18..e2381cb 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java
@@ -1,6 +1,10 @@
 package com.dayu.baselibrary.utils;
 
+import android.text.TextUtils;
+
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
 
 /**
  * Copyright (C), 2022,
@@ -15,9 +19,24 @@
      * @return
      */
     public static int changeY2F(String amount) {
+        if (TextUtils.isEmpty(amount)){
+            return 0;
+        }
         BigDecimal bigDecimal = new BigDecimal(amount).setScale(2);
         return bigDecimal.multiply(new BigDecimal(100)).intValue();
     }
+
+
+    /**
+     * 鍏冭浆鍘橈紝纭繚price淇濈暀涓や綅鏈夋晥鏁板瓧
+     *
+     * @return
+     */
+    public static int changeY2L(String amount) {
+        BigDecimal bigDecimal = new BigDecimal(amount).setScale(3);
+        return bigDecimal.multiply(new BigDecimal(1000)).intValue();
+    }
+
 
     /**
      * 鍒嗚浆鍏冿紝杞崲涓篵igDecimal鍦╰oString
@@ -28,4 +47,48 @@
         return BigDecimal.valueOf(Long.valueOf(price)).divide(new BigDecimal(100)).toString();
     }
 
+
+    /**
+     * 绮剧‘闄ゆ硶锛屼繚鐣欎袱浣嶅皬鏁�
+     *
+     * @param dividend
+     * @param divisor
+     * @return
+     */
+    public static String intDiv(int dividend, int divisor) {
+        double result = (double) dividend / divisor;
+        // 浣跨敤 DecimalFormat 鏍煎紡鍖栫粨鏋滐紝淇濈暀涓や綅灏忔暟
+        DecimalFormat df = new DecimalFormat("#.##");
+        return df.format(result);
+    }
+
+
+    /**
+     * 绯绘暟鍜屾按浠风浉涔樿幏寰楃數浠蜂繚鐣欎笁浣嶅皬鏁�
+     * @param num1
+     * @param num2
+     * @return
+     */
+    public static String multiplyPrice(float num1, float num2) {
+        BigDecimal bd1 = BigDecimal.valueOf(num1);
+        BigDecimal bd2 = BigDecimal.valueOf(num2);
+        BigDecimal result = bd1.multiply(bd2);
+        return result.setScale(3, RoundingMode.HALF_UP).toString();
+    }
+
+
+    /**
+     *
+     * @param num1
+     * @param num2
+     * @return
+     */
+    public static String sumPrice(float num1, float num2) {
+        BigDecimal bd1 = BigDecimal.valueOf(num1);
+        BigDecimal bd2 = BigDecimal.valueOf(num2);
+        BigDecimal result = bd1.add(bd2);
+        return result.setScale(2, RoundingMode.HALF_UP).toString();
+    }
+
+
 }

--
Gitblit v1.8.0