| | |
| | | return sHdlCommonLogic; |
| | | } |
| | | |
| | | public static String getConvertDoubleUnit(String value) { |
| | | if (TextUtils.isEmpty(value)) { |
| | | return UnitType.noValue; |
| | | } |
| | | BigDecimal formattedValue = getBigDecimal(value); |
| | | return formattedValue.toString(); |
| | | |
| | | } |
| | | |
| | | public static String getConvertDoubleUnit(int value) { |
| | | if (value == 0) { |
| | | return UnitType.noValue; |
| | | } |
| | | BigDecimal formattedValue = getBigDecimal(value + ""); |
| | | return formattedValue.toString(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @param value 值 |
| | | * @param unit 例如:UnitType.kWh |
| | | * @return 带单位值返回 |
| | | * @return 字符串值返回 |
| | | */ |
| | | public static String getConvertDoubleUnit(String value, String unit) { |
| | | public static String convertDoubleValue(String value) { |
| | | if (TextUtils.isEmpty(value)) { |
| | | return UnitType.noValue + unit; |
| | | return UnitType.noValue; |
| | | } |
| | | if (unit.equals(UnitType.kW) || unit.equals(UnitType.kWh)) { |
| | | return divideByOneThousandAndFormat(value).toString() + unit; |
| | | } |
| | | return getBigDecimal(value).toString() + unit; |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @param value 值 |
| | | * @param unitValue 例如:UnitType.kWh |
| | | * @param isUnit true表示有单位返回 |
| | | * @return 带单位值返回 |
| | | */ |
| | | public static String getConvertDoubleUnit(String value, String unitValue, boolean isUnit) { |
| | | if (TextUtils.isEmpty(value)) { |
| | | return UnitType.noValue + (isUnit ? unitValue : ""); |
| | | } |
| | | if (unitValue.equals(UnitType.kW)) { |
| | | return divideByOneThousandAndFormat(value).toString() + (isUnit ? unitValue : ""); |
| | | } |
| | | return getBigDecimal(value).toString() + (isUnit ? unitValue : ""); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @param value 值 |
| | | * @param unit 例如:UnitType.kWh |
| | | * @return 带单位值返回 |
| | | */ |
| | | public static String getConvertDoubleUnit(int value, String unit) { |
| | | if (value == 0) { |
| | | return UnitType.noValue + unit; |
| | | } |
| | | BigDecimal formattedValue = getBigDecimal(value + ""); |
| | | return formattedValue.toString() + unit; |
| | | return divideByOneThousandAndFormat(value).toString(); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param value 值 |
| | | * @param diploidValue 倍数 |
| | | * @return 字符串 |
| | | */ |
| | | public static String convertDoubleValue(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).toString(); |
| | | } catch (Exception e) { |
| | | return "0.00"; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 除以一千和格式 |
| | | * |
| | | * @param value 值 |
| | |
| | | public static BigDecimal divideByOneThousandAndFormat(String value) { |
| | | try { |
| | | double doubleValue = Double.parseDouble(value); |
| | | int val = 1000; |
| | | if (doubleValue > 1000 && doubleValue < 1000 * 1000) { |
| | | val = 1000; |
| | | } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) { |
| | | val = 1000 * 1000; |
| | | } else if (doubleValue > 1000 * 1000 * 1000) { |
| | | val = 1000 * 1000 * 1000; |
| | | int mDoubleValue = doubleValue(value); |
| | | if (mDoubleValue == 0) { |
| | | return getBigDecimal(value); |
| | | } else { |
| | | BigDecimal bigDecimal = new BigDecimal(doubleValue); |
| | | return bigDecimal.divide(new BigDecimal(mDoubleValue), 2, RoundingMode.HALF_EVEN); |
| | | } |
| | | BigDecimal bigDecimal = new BigDecimal(doubleValue); |
| | | return bigDecimal.divide(new BigDecimal(val), 2, RoundingMode.HALF_EVEN); |
| | | } catch (Exception e) { |
| | | BigDecimal bigDecimal = new BigDecimal(0); |
| | | return bigDecimal.divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN); |
| | |
| | | * |
| | | * @param value 值 |
| | | */ |
| | | public static int val(String value) { |
| | | double doubleValue = Double.parseDouble(value); |
| | | int val = 1000; |
| | | if (doubleValue > 1000 && doubleValue < 1000 * 1000) { |
| | | val = 1000; |
| | | } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) { |
| | | val = 1000 * 1000; |
| | | } else if (doubleValue > 1000 * 1000 * 1000) { |
| | | val = 1000 * 1000 * 1000; |
| | | public static int doubleValue(String value) { |
| | | 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; |
| | | } else { |
| | | return 0; |
| | | } |
| | | } catch (Exception e) { |
| | | return 0; |
| | | } |
| | | return val; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 转换单位 |
| | | * |
| | | * @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; |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |