From aa12413f4eccb91f2bd7e64b8ed072532f1d50d9 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Fri, 10 Jan 2020 19:15:37 +0800 Subject: [PATCH] --- src/org/redkale/source/EntityCache.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/org/redkale/source/EntityCache.java b/src/org/redkale/source/EntityCache.java index 4993b7540..459816a46 100644 --- a/src/org/redkale/source/EntityCache.java +++ b/src/org/redkale/source/EntityCache.java @@ -702,14 +702,26 @@ public final class EntityCache { if (numb == null) { numb = (Number) val; } else { - numb = numb.longValue() + ((Number) val).longValue(); + if (numb instanceof Float || ((Number) val) instanceof Float) { + numb = numb.floatValue() + ((Number) val).floatValue(); + } else if (numb instanceof Double || ((Number) val) instanceof Double) { + numb = numb.doubleValue() + ((Number) val).doubleValue(); + } else { + numb = numb.longValue() + ((Number) val).longValue(); + } } break; case DEC: if (numb == null) { numb = (Number) val; } else { - numb = numb.longValue() - ((Number) val).longValue(); + if (numb instanceof Float || ((Number) val) instanceof Float) { + numb = numb.floatValue() - ((Number) val).floatValue(); + } else if (numb instanceof Double || ((Number) val) instanceof Double) { + numb = numb.doubleValue() - ((Number) val).doubleValue(); + } else { + numb = numb.longValue() - ((Number) val).longValue(); + } } break; case MUL: