From 68db344081c103c94832b8d0a06be6c6888d66e4 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 26 三月 2025 17:34:14 +0800
Subject: [PATCH] 2025年03月26日17:34:12

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java |  113 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 99 insertions(+), 14 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
index d7b291b..441f7b7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -86,20 +86,6 @@
         return divideByOneThousandAndFormat(value).toString();
     }
 
-
-    public static String convertString(Object value) {
-        return String.valueOf(value);
-    }
-
-
-    public static BigDecimal getBigDecimal(String value) {
-        if (TextUtils.isEmpty(value)) {
-            return new BigDecimal(0);
-        }
-        double doubleValue = Double.parseDouble(value);
-        return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP);
-    }
-
     /**
      * @param value        鍊�
      * @param diploidValue 鍊嶆暟
@@ -114,6 +100,35 @@
             return "0.00";
         }
     }
+
+    /**
+     * @param value        鍊�
+     * @param diploidValue 鍊嶆暟
+     * @return 瀛楃涓�
+     */
+    public static BigDecimal convertBigDecimal(String value, int diploidValue) {
+        try {
+            double doubleValue = Double.parseDouble(value);
+            BigDecimal bigDecimal = new BigDecimal(doubleValue);
+            return bigDecimal.divide(new BigDecimal(diploidValue), 2, RoundingMode.HALF_EVEN);
+        } catch (Exception e) {
+            return new BigDecimal(0);
+        }
+    }
+
+    public static String convertString(Object value) {
+        return String.valueOf(value);
+    }
+
+
+    public static BigDecimal getBigDecimal(String value) {
+        if (TextUtils.isEmpty(value)) {
+            return new BigDecimal(0);
+        }
+        double doubleValue = Double.parseDouble(value);
+        return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP);
+    }
+
 
     /**
      * 闄や互涓�鍗冨拰鏍煎紡
@@ -185,6 +200,76 @@
     }
 
     /**
+     * 杞崲(kWh)鍗曚綅
+     *
+     * @param value 鍊�
+     */
+    public static String convertKWUnit(String value) {
+        try {
+            double doubleValue = Double.parseDouble(value);
+            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                return UnitType.mWh;
+            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                return UnitType.gWh;
+            } else if (doubleValue > 1000 * 1000 * 1000) {
+                return UnitType.tWh;
+            } else {
+                return UnitType.kWh;
+            }
+        } catch (Exception e) {
+            return UnitType.kWh;
+        }
+
+    }
+
+    /**
+     * 杞崲(kW)鍗曚綅
+     *
+     * @param value 鍊�
+     */
+    public static String convertKWhUnit(String value) {
+        try {
+            double doubleValue = Double.parseDouble(value);
+            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                return UnitType.mW;
+            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                return UnitType.gW;
+            } else if (doubleValue > 1000 * 1000 * 1000) {
+                return UnitType.tW;
+            } else {
+                return UnitType.kW;
+            }
+        } catch (Exception e) {
+            return UnitType.kW;
+        }
+
+    }
+
+    /**
+     * 杞崲(Wp)鍗曚綅
+     *
+     * @param value 鍊�
+     */
+    public static String convertWPUnit(String value) {
+        try {
+            double doubleValue = Double.parseDouble(value);
+            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                return UnitType.MWp;
+            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                return UnitType.GWp;
+            } else if (doubleValue > 1000 * 1000 * 1000) {
+                return UnitType.TWp;
+            } else {
+                return UnitType.kWp;
+            }
+        } catch (Exception e) {
+            return UnitType.kWp;
+        }
+
+    }
+
+
+    /**
      * 鐢熸垚浜岀淮鐮�
      *
      * @param content                瀛楃涓插唴瀹�

--
Gitblit v1.8.0