-
Notifications
You must be signed in to change notification settings - Fork 550
Closed
Labels
Milestone
Description
问题描述
问题详见以下测试用例:
@Test
public void test_1() {
String json = "{\"a\":14900000000000002396241300002543983538316751946695148944854736328125e-7}";
A a = JSON.parseObject(json, A.class);
JSONObject obj = JSON.parseObject(json, JSONReader.Feature.UseBigDecimalForDoubles);
BigDecimal expected = new BigDecimal("14900000000000002396241300002543983538316751946695148944854736328125e-7");
assertEquals(expected, a.a); //失败
assertEquals(obj.get("a"), a.a); //失败
}
@Test
public void test_2() {
String json = "{\"a\":12345678901234567890123456789012345678e-10}";
A a = JSON.parseObject(json, A. class);
JSONObject obj = JSON.parseObject(json, JSONReader.Feature.UseBigDecimalForDoubles);
BigDecimal expected = new BigDecimal("12345678901234567890123456789012345678e-10");
assertEquals(expected, a.a); //成功
assertEquals(obj.get("a"), a.a); //失败
}
public static class A {
public BigDecimal a;
}
环境信息
请填写以下信息:
- OS信息: [e.g.:CentOS 8.4.2105 4Core 3.10GHz 16 GB]
- JDK信息: [e.g.:Openjdk 1.8.0_312]
- 版本信息:[e.g.:Fastjson2 2.x.x]
期待的正确结果
对您期望发生的结果进行清晰简洁的描述。
相关日志输出
请复制并粘贴任何相关的日志输出。
附加信息
如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。
Reactions are currently unavailable