diff --git a/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java index cf9f83de3..7e2af1963 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java @@ -7,6 +7,8 @@ import org.junit.Test; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.NumberFormat; +import java.text.ParseException; /** * {@link NumberUtil} 单元测试类 @@ -349,6 +351,14 @@ public class NumberUtilTest { Assert.assertEquals("1234.56", bigDecimal.toString()); } + @Test + public void issue2878Test() throws ParseException { + // https://github.com/dromara/hutool/issues/2878 + // 当数字中包含一些非数字字符时,按照JDK的规则,不做修改。 + final BigDecimal bigDecimal = NumberUtil.toBigDecimal("345.sdf"); + Assert.assertEquals(NumberFormat.getInstance().parse("345.sdf"), bigDecimal.longValue()); + } + @Test public void parseIntTest() { int number = NumberUtil.parseInt("0xFF");