0
我有这样的代码在这里:对于DataTable.Compute,“指定的转换无效”?
decimal dec = (decimal)MyDataTable.Compute("Min(Rooms)", string.Empty);
它总是告诉我指定的转换是无效。我如何检查计算是否会在运行时成功?
谢谢:)
我有这样的代码在这里:对于DataTable.Compute,“指定的转换无效”?
decimal dec = (decimal)MyDataTable.Compute("Min(Rooms)", string.Empty);
它总是告诉我指定的转换是无效。我如何检查计算是否会在运行时成功?
谢谢:)
试试这个
object dec = MyDataTable.Compute("Min(Rooms)", string.Empty);
decimal d;
bool result = Decimal.TryParse(dec.ToString(), out d);
如果result
是true
这意味着解析成功
尝试使用Decimal.TryParse()
看看是否能帮助你。 Here is the msdn 这应该工作:
var s = "123.34";
decimal d;
bool isDec = Decimal.TryParse(s, out d);
if (isDec)
Console.WriteLine("It was a decimal: " + d);
else
Console.WriteLine("Not a decimal!");
Console.WriteLine(isDec);
Console.ReadLine();
需要两个参数的原因是第一个参数是字符串格式的十进制的表示。如果TryParse成功,则结果存储在d
(在上例中)。在这个例子中isDec
打印true
。
Decimal.TryParse(DEC)至少需要2名PARAMS? – grady
是的,你是对的就至少需要两个 –
第二个参数是出(放)参数,所以解析结果有一个地方去(因为该方法的实际返回值是布尔成功/失败指标)。 –