【问题标题】:how to use datatable.compute for division in c#?如何在 c# 中使用 datatable.compute 进行除法?
【发布时间】:2018-09-18 12:16:04
【问题描述】:

我在 C# 中使用 divion 运算符,如下所示,并收到类似 Specified cast is not valid 的错误,其背后的任何原因

    DataTable dt = new DataTable();
    int answer = (int)dt.Compute("(1*4000*700*20)/4000", ""); 

【问题讨论】:

  • 你为什么不把这个传给 SP

标签: c# .net


【解决方案1】:

它似乎返回双倍。

DataTable dt = new DataTable();
double answer = (double)dt.Compute("(1*4000*700*20)/4000", ""); 
Console.Write(answer);

【讨论】:

  • 现在获取的值对于类型“Int32”来说太大或太小
  • 通过添加“.0”修复
【解决方案2】:

使用Convert() 而不是强制转换来获得int 结果

int answer = Convert.ToInt32(new DataTable().Compute("(1*4000*700*20)/4000", ""));

【讨论】:

  • 现在获取的值对于类型“Int32”来说太大或太小
  • 通过添加“.0”修复
猜你喜欢
  • 2021-09-28
  • 2016-07-16
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
  • 2013-10-29
  • 2017-03-05
  • 1970-01-01
  • 2018-11-14
相关资源
最近更新 更多