从一个数字铸造时,值必须小于无穷大的数字

  • 本文关键字:数字 无穷大 小于 一个 c#
  • 更新时间 :
  • 英文 :


我只想围绕来自数据的值,数据来自sql到数据。>

string Maxmonthlytable = Math.Round((decimal)monthlytable.Rows[u][3], 2, MidpointRounding.AwayFromZero).ToString();

我得到错误"

您可以使用支持无效的DataRow.Field方法:

decimal? num = monthlytable.Rows[u].Field<decimal?>(3);
Console.Write(num.HasValue 
                 ? Math.Round(num.Value, MidpointRounding.AwayFromZero)
                 : "no value");

您可以尝试:

decimal num = 0;
if (monthlytable.Rows[u][3] != DBNull.Value)
    num = Math.Round((decimal)monthlytable.Rows[u][3], 2, MidpointRounding.AwayFromZero)
string Maxmonthlytable = num.ToString();

而不是使用铸件(decimal)或使用铸件(int),您必须使用铸件(System.Decimal)(System.Int32),这将使此问题消失。

最新更新