所以我想从字符串中计算出一些东西,像这样:
var s = dt.Compute(exps[0].Replace("x", i.ToString()), "");
,当exps [0]为x*x*x
时,出现此错误:Value was either too large or too small for an Int32
实际上,它以前可以使用任何数字,但我不知道这是怎么回事。
i
是int
循环中的for
,而dt
是DataTable
。
答案 0 :(得分:1)
在执行x³
时,int
的溢出不会花费太多; 1290
是最大的多维数据集。因此,如果i
大于此,则可以预期。您可以尝试确保该列是long
-这会给您更多的空间,但是对于很大的数字,您需要切换到double
或decimal
(注意他们在尾巴上失去了精确度)。