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