Skip to content

Commit

Permalink
bug fixed for float/double to int/long.
Browse files Browse the repository at this point in the history
  • Loading branch information
wenshao committed Aug 16, 2018
1 parent 14343b0 commit ee5c008
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
Expand Up @@ -82,9 +82,9 @@ public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName)
lexer.nextToken(JSONToken.COMMA); lexer.nextToken(JSONToken.COMMA);
intObj = Integer.valueOf(val); intObj = Integer.valueOf(val);
} else if (token == JSONToken.LITERAL_FLOAT) { } else if (token == JSONToken.LITERAL_FLOAT) {
BigDecimal decimalValue = lexer.decimalValue(); Number number = lexer.decimalValue(false);
intObj = number.intValue();
lexer.nextToken(JSONToken.COMMA); lexer.nextToken(JSONToken.COMMA);
intObj = Integer.valueOf(decimalValue.intValue());
} else { } else {
if (token == JSONToken.LBRACE) { if (token == JSONToken.LBRACE) {
JSONObject jsonObject = new JSONObject(true); JSONObject jsonObject = new JSONObject(true);
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/alibaba/fastjson/serializer/LongCodec.java
Expand Up @@ -64,6 +64,10 @@ public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName)
long longValue = lexer.longValue(); long longValue = lexer.longValue();
lexer.nextToken(JSONToken.COMMA); lexer.nextToken(JSONToken.COMMA);
longObject = Long.valueOf(longValue); longObject = Long.valueOf(longValue);
} else if (token == JSONToken.LITERAL_FLOAT) {
Number number = lexer.decimalValue(false);
longObject = number.longValue();
lexer.nextToken(JSONToken.COMMA);
} else { } else {
if (token == JSONToken.LBRACE) { if (token == JSONToken.LBRACE) {
JSONObject jsonObject = new JSONObject(true); JSONObject jsonObject = new JSONObject(true);
Expand Down

0 comments on commit ee5c008

Please sign in to comment.