From f8298cf2ba1da4e9f4d7732e4cd232e99b27f890 Mon Sep 17 00:00:00 2001 From: shuangqiwang <1873278623@qq.com> Date: Tue, 9 Dec 2025 14:18:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D#IDAQK3=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0getBinaryStr=E6=96=B9=E6=B3=95=E5=AF=B9double=E3=80=81?= =?UTF-8?q?float=E7=B1=BB=E5=9E=8B=E7=9A=84=E5=A4=84=E7=90=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/core/util/NumberUtil.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 64f4a61191..f0fe6d600e 100755 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -1702,12 +1702,25 @@ public class NumberUtil { * @return 二进制字符串 */ public static String getBinaryStr(Number number) { + + if (number instanceof Double) { + // 处理double类型 + long bits = Double.doubleToLongBits((Double) number); + return String.format("%64s", Long.toBinaryString(bits)).replace(' ', '0'); + } else if (number instanceof Float) { + // 处理float类型 + int bits = Float.floatToIntBits((Float) number); + return String.format("%32s", Integer.toBinaryString(bits)).replace(' ', '0'); + } + if (number instanceof Long) { return Long.toBinaryString((Long) number); } else if (number instanceof Integer) { return Integer.toBinaryString((Integer) number); } else { + System.out.println(number.getClass().getName()); return Long.toBinaryString(number.longValue()); + } } -- Gitee