列表数据循环求和数据溢出

BUG反馈 · 601 次浏览
素不假 创建于 2023-12-02 12:43

环境:windows10 64位,quicker版本:1.40.11

问题描述:

本动作分享,用于测试。

https://getquicker.net/Sharedaction?code=7d798cec-0d36-482a-0836-08dbf258757d

list默认值为2个2000000000,即2个20亿,在做循环求和计算后,结果为-294967296。

测试发现:

1、如果将list预期合计设为低于20亿的计算中未发现出现计算错误。

2、如果不用list循环求和,只是普通用数字计算模块,则结果为40亿。


回复内容
H-D-G 2023-12-02 14:10
#1


素不假 回复 H-D-G 2023-12-02 15:49 :
谢谢提供的list.sum计算表达式
CL 2023-12-02 14:57
#2

int.MaxValue = 2147483647

如果要计算超过这个的数字,需要用表达式,或者在计算模块中开启增强模式选项,并且将数字强制转换为long类型。

使用 “赋值模块” 比较合适。 如果在“计算”模块里使用$=表达式,实际上是表达式得到的结果再去计算,也没有意义的。

CL 最后更新于 2023-12-02 15:02
素不假 回复 CL 2023-12-02 15:52 :
谢谢,使用“赋值”模块,将“文本插值$$”修改为“表达式$=”后解决此问题。
素不假 最后更新于 2023-12-02 15:53
回复主贴