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
是的,你是對的就至少需要兩個 –
第二個參數是出(放)參數,所以解析結果有一個地方去(因爲該方法的實際返回值是布爾成功/失敗指標)。 –