mirror of
https://gitee.com/dromara/hutool.git
synced 2026-02-09 09:16:26 +08:00
修复 NumberUtil.parseNumber使用中文逗号导致识别问题(issue#4197@Github)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
|
||||
# 🚀Changelog
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.43(2025-12-24)
|
||||
# 5.8.43(2025-12-25)
|
||||
|
||||
### 🐣新特性
|
||||
* 【core 】 `ColorUtil`颜色名称DARKGOLD、LIGHTGOLD新增蛇形命名匹配(pr#1400@Github)
|
||||
@@ -17,6 +17,7 @@
|
||||
* 【bloomFilter】 修复`AbstractFilter`的`init`方法在`maxValue`小于`machineNum`时导致数组越界异常(pr#4189@Github)
|
||||
* 【ai 】 修复`Models`枚举命名大小写混用问题(pr#4185@Github)
|
||||
* 【core 】 修复 `ThreadUtil.getMainThread`在JDK25中返回null的问题(pr#1416@Gitee)
|
||||
* 【core 】 修复 `NumberUtil.parseNumber`使用中文逗号导致识别问题(issue#4197@Github)
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.42(2025-11-28)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package cn.hutool.core.util;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.exceptions.UtilException;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.math.Calculator;
|
||||
@@ -2779,6 +2780,9 @@ public class NumberUtil {
|
||||
numberStr = StrUtil.subSuf(numberStr, 1);
|
||||
}
|
||||
|
||||
// issue@4197@Github 转为半角
|
||||
numberStr = Convert.toDBC(numberStr);
|
||||
|
||||
try {
|
||||
final NumberFormat format = NumberFormat.getInstance();
|
||||
if (format instanceof DecimalFormat) {
|
||||
|
||||
26
hutool-json/src/test/java/cn/hutool/json/Issue4197Test.java
Normal file
26
hutool-json/src/test/java/cn/hutool/json/Issue4197Test.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package cn.hutool.json;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class Issue4197Test {
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
static
|
||||
class TestDTO {
|
||||
|
||||
private BigDecimal h;
|
||||
}
|
||||
|
||||
@Test
|
||||
void toBeanTest() {
|
||||
final TestDTO bean = JSONUtil.toBean("{\"h\":\"123,456,789\"}", TestDTO.class);
|
||||
Assertions.assertEquals(new BigDecimal("123456789"), bean.getH());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user