| | |
| | | |
| | | |
| | | /** |
| | | * @param value 值 |
| | | * @param value 值 |
| | | * @param unitType 需要转的单位(kW,kWh) |
| | | * @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(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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 { |
| | |
| | | * |
| | | * @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; |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 转换单位 |
| | | * |
| | | * @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)单位 |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |