diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberParser.java b/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberParser.java
index 9038c4685..3c8779b23 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberParser.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberParser.java
@@ -297,6 +297,7 @@ public class NumberParser {
// issue#I79VS7
numberStr = StrUtil.subSuf(numberStr, 1);
}
+
try {
final NumberFormat format = NumberFormat.getInstance(locale);
if (format instanceof DecimalFormat) {
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java
index e81fd333e..561a86959 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java
@@ -898,12 +898,12 @@ public class NumberUtil extends NumberValidator {
}
// Float、Double等有精度问题,转换为字符串后再转换
- return toBigDecimal(number.toString());
+ return new BigDecimal(number.toString());
}
/**
* 数字转{@link BigDecimal}
- * null或""或空白符转换为0
+ * null或""或"NaN"或空白符转换为0
*
* @param numberStr 数字字符串
* @return {@link BigDecimal}
@@ -927,7 +927,7 @@ public class NumberUtil extends NumberValidator {
/**
* 数字转{@link BigInteger}
- * null转换为0
+ * null或"NaN"转换为0
*
* @param number 数字
* @return {@link BigInteger}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/math/Issue3423Test.java b/hutool-core/src/test/java/org/dromara/hutool/core/math/Issue3423Test.java
new file mode 100644
index 000000000..9579a300f
--- /dev/null
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/math/Issue3423Test.java
@@ -0,0 +1,28 @@
+package org.dromara.hutool.core.math;
+
+import org.dromara.hutool.core.lang.Console;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.text.ParseException;
+
+public class Issue3423Test {
+ @Test
+ public void toBigDecimalOfNaNTest() {
+ final BigDecimal naN = NumberUtil.toBigDecimal("NaN");
+ Assertions.assertEquals(BigDecimal.ZERO, naN);
+ }
+
+ @Test
+ @Disabled
+ public void toBigDecimalOfNaNTest2() throws ParseException {
+ final NumberFormat format = NumberFormat.getInstance();
+ ((DecimalFormat) format).setParseBigDecimal(true);
+ final Number naN = format.parse("NaN");
+ Console.log(naN.getClass());
+ }
+}
diff --git a/hutool-cron/src/main/java/org/dromara/hutool/cron/CronConfig.java b/hutool-cron/src/main/java/org/dromara/hutool/cron/CronConfig.java
index 47fbe1a6b..1df148ebf 100644
--- a/hutool-cron/src/main/java/org/dromara/hutool/cron/CronConfig.java
+++ b/hutool-cron/src/main/java/org/dromara/hutool/cron/CronConfig.java
@@ -31,6 +31,9 @@ public class CronConfig {
*/
protected boolean matchSecond;
+ /**
+ * 构造
+ */
public CronConfig(){
}
diff --git a/hutool-db/README.md b/hutool-db/README.md
index 603876838..97d7fd3bb 100644
--- a/hutool-db/README.md
+++ b/hutool-db/README.md
@@ -28,7 +28,7 @@
### SQL相关工具(sql)
提供SQL相关功能,包括SQL变量替换(NamedSql),通过对象完成SQL构建(SqlBuilder)等。
-`SqlSqlExecutor`提供SQL执行的静态方法。
+`SqlExecutor`提供SQL执行的静态方法。
### 数据库元信息(meta)
通过`MetaUtil`提供数据库表、字段等信息的读取操作。