Просмотр исходного кода

添加 IP 地址转换和百分比格式化

reghao 3 лет назад
Родитель
Сommit
a0272a8235

+ 45 - 0
jdk/src/main/java/cn/reghao/jutil/jdk/converter/IpAddressConverter.java

@@ -0,0 +1,45 @@
+package cn.reghao.jutil.jdk.converter;
+
+/**
+ * IP 地址转换
+ *
+ * @author reghao
+ * @date 2019-10-26 22:44:16
+ */
+public class IpAddressConverter {
+    /**
+     * 十六进制转换为点分十进制格式
+     *
+     * @param
+     * @return
+     * @date 2019-10-26 下午11:43
+     */
+    public String hex2dotDecimal(String hex) {
+        long decimal = Long.parseLong(hex, 16);
+        String binary = Long.toBinaryString(decimal);
+        int len = binary.length();
+        int size = 32;
+        if (len != size) {
+            StringBuilder sb = new StringBuilder();
+
+            int minus = size - len;
+            for (int i = 0; i < minus; i++) {
+                sb.append(0);
+            }
+            sb.append(binary);
+            binary = sb.toString();
+        }
+
+        String a = binary.substring(0, 8);
+        String b = binary.substring(8, 16);
+        String c = binary.substring(16, 24);
+        String d = binary.substring(24);
+
+        int a1 = Integer.parseInt(a, 2);
+        int b1 = Integer.parseInt(b, 2);
+        int c1 = Integer.parseInt(c, 2);
+        int d1 = Integer.parseInt(d, 2);
+
+        return d1 + ":" + c1 + ":" + b1 + ":"  + a1;
+    }
+}

+ 26 - 0
jdk/src/main/java/cn/reghao/jutil/jdk/converter/PercentCalculator.java

@@ -0,0 +1,26 @@
+package cn.reghao.jutil.jdk.converter;
+
+import java.text.DecimalFormat;
+
+/**
+ * 百分比计算器
+ *
+ * @author reghao
+ * @date 2019-10-29 12:54:28
+ */
+public class PercentCalculator {
+    private static DecimalFormat df = new DecimalFormat("0.00");
+
+    public static double percentValue(long small, long big) {
+        return ((double)small / (double)big);
+    }
+
+    public static String percent(long small, long big) {
+        double value = ((double)small / (double)big);
+        return df.format(value * 100) + "%";
+    }
+
+    public static String percent(double value) {
+        return df.format(value * 100) + "%";
+    }
+}