我只想围绕来自数据的值,数据来自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)
,这将使此问题消失。