From 696177957346434c03b090f68926a856553178eb Mon Sep 17 00:00:00 2001 From: caimeng Date: Mon, 4 Aug 2025 10:41:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dsum=E7=B2=BE=E5=BA=A6?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/ssssssss/script/functions/StreamExtension.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/ssssssss/script/functions/StreamExtension.java b/src/main/java/org/ssssssss/script/functions/StreamExtension.java index 3750ad2..f0010f9 100644 --- a/src/main/java/org/ssssssss/script/functions/StreamExtension.java +++ b/src/main/java/org/ssssssss/script/functions/StreamExtension.java @@ -7,6 +7,7 @@ import org.ssssssss.script.parsing.ast.literal.BooleanLiteral; import org.ssssssss.script.reflection.JavaReflection; import java.lang.reflect.Array; +import java.math.BigDecimal; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -386,8 +387,8 @@ public class StreamExtension { public Number sum(Object target) { return arrayLikeToList(target).stream() .filter(value -> value instanceof Number) - .mapToDouble(value -> ((Number) value).doubleValue()) - .sum(); + .map(x -> new BigDecimal(String.valueOf(x))) + .reduce(BigDecimal.ZERO, BigDecimal::add); } /** -- Gitee