Преглед изворни кода

处理gson转double数据类型数据失真,比如9.1变为9.10000003814

o2sword пре 4 година
родитељ
комит
b2fe27e859

+ 8 - 3
o2server/x_base_core_project/src/main/java/com/x/base/core/project/gson/DoubleDeserializer.java

@@ -15,8 +15,13 @@ public class DoubleDeserializer implements JsonDeserializer<Double> {
 	@Override
 	public Double deserialize(JsonElement json, Type type, JsonDeserializationContext context)
 			throws JsonParseException {
-		Number num = NumberUtils.createNumber(StringUtils.trimToNull(json.getAsString()));
-		return (num == null) ? null : num.doubleValue();
+		/*Number num = NumberUtils.createNumber(StringUtils.trimToNull(json.getAsString()));
+		return (num == null) ? null : num.doubleValue();*/
+		if(StringUtils.isBlank(json.getAsString())){
+			return null;
+		}else{
+			return Double.parseDouble(StringUtils.trim(json.getAsString()));
+		}
 	}
 
-}
+}

+ 8 - 3
o2server/x_base_core_project/src/main/java/com/x/base/core/project/gson/FloatDeserializer.java

@@ -15,8 +15,13 @@ public class FloatDeserializer implements JsonDeserializer<Float> {
 	@Override
 	public Float deserialize(JsonElement json, Type type, JsonDeserializationContext context)
 			throws JsonParseException {
-		Number num = NumberUtils.createNumber(StringUtils.trimToNull(json.getAsString()));
-		return (num == null) ? null : num.floatValue();
+		/*Number num = NumberUtils.createNumber(StringUtils.trimToNull(json.getAsString()));
+		return (num == null) ? null : num.floatValue();*/
+		if(StringUtils.isBlank(json.getAsString())){
+			return null;
+		}else{
+			return Float.parseFloat(StringUtils.trim(json.getAsString()));
+		}
 	}
 
-}
+}