diff --git a/CHANGELOG.md b/CHANGELOG.md index 944da029e..617eb1f13 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.30(2024-07-30) +# 5.8.30(2024-07-31) ### 🐣新特性 * 【core 】 Converter转换规则变更,空对象、空值转为Bean时,创建默认对象,而非null(issue#3649@Github) @@ -22,6 +22,7 @@ * 【core 】 修复FileUtil.file末尾换行符导致路径判断错误的问题(issue#IAB65V@Gitee) * 【core 】 修复FileTypeUtil.getType空指针问题(issue#IAD5JM@Gitee) * 【core 】 修复IdcardUtil.isValidHKCard校验问题(issue#IAFOLI@Gitee) +* 【core 】 修复Convert.digitToChinese(0)输出金额无`元整问题`(issue#3662@Github) ------------------------------------------------------------------------------------------------------------- # 5.8.29(2024-07-03) diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java b/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java index dfe288a78..0f2f04d7e 100755 --- a/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java @@ -1030,7 +1030,7 @@ public class Convert { */ public static String digitToChinese(Number n) { if (null == n) { - return "零"; + n = 0; } return NumberChineseFormatter.format(n.doubleValue(), true, true); } diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/NumberChineseFormatter.java b/hutool-core/src/main/java/cn/hutool/core/convert/NumberChineseFormatter.java index 668131d0a..14a5acd01 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/NumberChineseFormatter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/NumberChineseFormatter.java @@ -92,7 +92,7 @@ public class NumberChineseFormatter { */ public static String format(double amount, boolean isUseTraditional, boolean isMoneyMode, String negativeName, String unitName) { if (0 == amount) { - return "零"; + return isMoneyMode ? "零元整" : "零"; } Assert.checkBetween(amount, -99_9999_9999_9999.99, 99_9999_9999_9999.99, "Number support only: (-99999999999999.99 ~ 99999999999999.99)!"); diff --git a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java index 90540fc58..90adb2689 100755 --- a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java @@ -435,4 +435,12 @@ public class ConvertTest { Assert.assertEquals(12, s); } + @Test + public void issue3662Test() { + String s = Convert.digitToChinese(0); + Assert.assertEquals("零元整", s); + + s = Convert.digitToChinese(null); + Assert.assertEquals("零元整", s); + } }