DataTable.compute()值对于Int32

时间:2019-06-26 13:23:27

标签: c#

所以我想从字符串中计算出一些东西,像这样:

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

实际上,它以前可以使用任何数字,但我不知道这是怎么回事。

iint循环中的for,而dtDataTable

1 个答案:

答案 0 :(得分:1)

在执行时,int的溢出不会花费太多; 1290是最大的多维数据集。因此,如果i大于此,则可以预期。您可以尝试确保该列是long-这会给您更多的空间,但是对于很大的数字,您需要切换到doubledecimal(注意他们在尾巴上失去了精确度)。