From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java | 79 ++++++++++++++++++---------------------
1 files changed, 36 insertions(+), 43 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 4720942..a935e16 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -62,14 +62,15 @@
/**
- * @param value 鍊�
+ * @param value 鍊�
+ * @param unitType 闇�瑕佽浆鐨勫崟浣嶏紙kW锛宬Wh锛�
* @return 瀛楃涓插�艰繑鍥�
*/
- public static String convertDoubleValue(String value) {
+ public static String convertDoubleValue(String value, String unitType) {
if (TextUtils.isEmpty(value)) {
return UnitType.noValue;
}
- return divideByOneThousandAndFormat(value).toString();
+ return divideByOneThousandAndFormat(value,unitType).toString();
}
/**
@@ -122,10 +123,10 @@
* @param value 鍊�
* @return BigDecimal
*/
- public static BigDecimal divideByOneThousandAndFormat(String value) {
+ public static BigDecimal divideByOneThousandAndFormat(String value, String unitType) {
try {
double doubleValue = Double.parseDouble(value);
- int mDoubleValue = doubleValue(value);
+ long mDoubleValue = doubleValue(value,unitType);
if (mDoubleValue == 0) {
return getBigDecimal(value);
} else {
@@ -143,17 +144,29 @@
*
* @param value 鍊�
*/
- public static int doubleValue(String value) {
+ public static long doubleValue(String value, String unitType) {
try {
double doubleValue = Double.parseDouble(value);
- if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
- return 1000;
- } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
- return 1000 * 1000;
- } else if (doubleValue > 1000 * 1000 * 1000) {
- return 1000 * 1000 * 1000;
+ if (unitType.equals(UnitType.kW)) {
+ if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+ return 1000 ;
+ } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+ return 1000 * 1000 ;
+ } else if (doubleValue >= 1000 * 1000 * 1000) {
+ return 1000L * 1000 * 1000 ;
+ } else {
+ return 1000;
+ }
} else {
- return 0;
+ if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
+ return 1000;
+ } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+ return 1000 * 1000;
+ } else if (doubleValue >= 1000 * 1000 * 1000) {
+ return 1000 * 1000 * 1000;
+ } else {
+ return 0;
+ }
}
} catch (Exception e) {
return 0;
@@ -161,29 +174,7 @@
}
- /**
- * 杞崲鍗曚綅
- *
- * @param value 鍊�
- * @param unitType 琛ㄧず鏄崟浣嶏紙鍔熺巼锛岀數閲忥級
- */
- public static String convertUnit(String value, String unitType) {
- try {
- double doubleValue = Double.parseDouble(value);
- if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
- return unitType.equals(UnitType.kW) ? UnitType.mW : UnitType.mWh;
- } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
- return unitType.equals(UnitType.kW) ? UnitType.gW : UnitType.gWh;
- } else if (doubleValue > 1000 * 1000 * 1000) {
- return unitType.equals(UnitType.kW) ? UnitType.tW : UnitType.tWh;
- } else {
- return unitType.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
- }
- } catch (Exception e) {
- return unitType.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
- }
- }
/**
* 杞崲鐢甸噺(kWh)鍗曚綅
@@ -193,11 +184,11 @@
public static String convertKWHUnit(String value) {
try {
double doubleValue = Double.parseDouble(value);
- if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+ if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
return UnitType.mWh;
- } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+ } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
return UnitType.gWh;
- } else if (doubleValue > 1000 * 1000 * 1000) {
+ } else if (doubleValue >= 1000 * 1000 * 1000) {
return UnitType.tWh;
} else {
return UnitType.kWh;
@@ -217,10 +208,12 @@
try {
double doubleValue = Double.parseDouble(value);
if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+ return UnitType.kW;
+ } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
return UnitType.mW;
- } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+ } else if (doubleValue >= 1000 * 1000 * 1000&&doubleValue < 1000 * 1000 * 1000*1000L) {
return UnitType.gW;
- } else if (doubleValue > 1000 * 1000 * 1000) {
+ } else if (doubleValue >= 1000 * 1000 * 1000*1000L) {
return UnitType.tW;
} else {
return UnitType.kW;
@@ -239,11 +232,11 @@
public static String convertKWPUnit(String value) {
try {
double doubleValue = Double.parseDouble(value);
- if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+ if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
return UnitType.MWp;
- } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+ } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
return UnitType.GWp;
- } else if (doubleValue > 1000 * 1000 * 1000) {
+ } else if (doubleValue >= 1000 * 1000 * 1000) {
return UnitType.TWp;
} else {
return UnitType.kWp;
--
Gitblit v1.8.0