From a4e576f27dc7aab2e1e8221466d2340ed76f4c74 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Sun, 24 Aug 2025 21:42:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E7=A3=81?= =?UTF-8?q?=E7=9B=98=E4=B8=BB=E6=9C=BA=E7=9A=84=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mini/capi/biz/domain/DiskMount.java | 6 ++-- .../java/com/mini/capi/utils/HostInfo.java | 6 ++-- src/main/java/com/mini/capi/utils/vF.java | 28 +++++++++++++++++++ 3 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/mini/capi/utils/vF.java diff --git a/src/main/java/com/mini/capi/biz/domain/DiskMount.java b/src/main/java/com/mini/capi/biz/domain/DiskMount.java index ae1ba42..f0eb5cf 100644 --- a/src/main/java/com/mini/capi/biz/domain/DiskMount.java +++ b/src/main/java/com/mini/capi/biz/domain/DiskMount.java @@ -41,19 +41,19 @@ public class DiskMount implements Serializable { * 总容量 */ @TableField("size_kb") - private BigDecimal sizeKb; + private String sizeKb; /** * 已用容量 */ @TableField("used_kb") - private BigDecimal usedKb; + private String usedKb; /** * 可用容量 */ @TableField("avail_kb") - private BigDecimal availKb; + private String availKb; /** * 挂载路径 diff --git a/src/main/java/com/mini/capi/utils/HostInfo.java b/src/main/java/com/mini/capi/utils/HostInfo.java index 0f7fb72..8b87b76 100644 --- a/src/main/java/com/mini/capi/utils/HostInfo.java +++ b/src/main/java/com/mini/capi/utils/HostInfo.java @@ -103,9 +103,9 @@ public final class HostInfo { if (arr.length < 6) continue; // 跳过异常行 DiskMount d = new DiskMount(); d.setDiskFs(arr[0]); - d.setSizeKb(new BigDecimal(arr[1])); - d.setUsedKb(new BigDecimal(arr[2])); - d.setAvailKb(new BigDecimal(arr[3])); + d.setSizeKb(vF.format(Long.parseLong(arr[1]))); + d.setUsedKb(vF.format(Long.parseLong(arr[2]))); + d.setAvailKb(vF.format(Long.parseLong(arr[3]))); d.setMountPoint(arr[5]); list.add(d); } diff --git a/src/main/java/com/mini/capi/utils/vF.java b/src/main/java/com/mini/capi/utils/vF.java new file mode 100644 index 0000000..4eacd6e --- /dev/null +++ b/src/main/java/com/mini/capi/utils/vF.java @@ -0,0 +1,28 @@ +package com.mini.capi.utils; + +public class vF { + + + + private static final String[] UNITS = {"B", "K", "M", "G", "T", "P"}; + + + public static String format(long bytes) { + if (bytes < 0) { + throw new IllegalArgumentException("字节数不能为负数"); + } + + int unitIndex = 0; + double size = bytes; + + while (size >= 1024 && unitIndex < UNITS.length - 1) { + size /= 1024; + unitIndex++; + } + + // 保留最多一位小数,去掉多余的 .0 + return String.format("%.1f", size).replace(".0", "") + UNITS[unitIndex]; + } + + +}