0
我可能有以下幾種類型:
數與小數:100.90
號(INT32):32
字符串:「」層疊解析
我要的是它試圖解析爲一個十進制數的函數如果失敗,則嘗試解析爲int,如果失敗,則返回一個字符串。 在C#中有以下功能的任何類型的功能表示讚賞。
我可能有以下幾種類型:
數與小數:100.90
號(INT32):32
字符串:「」層疊解析
我要的是它試圖解析爲一個十進制數的函數如果失敗,則嘗試解析爲int,如果失敗,則返回一個字符串。 在C#中有以下功能的任何類型的功能表示讚賞。
public static object cascadeParse(string obj)
{
decimal decRet;
if (!decimal.TryParse(obj, out decRet))
{
int intRet;
if (!int.TryParse(obj, out intRet))
{
return obj;
}
else
{
return intRet;
}
}
else
{
return decRet;
}
}
但是此方法將總是返回decimal
過去了的東西作爲int
爲int
S可總是被解析爲decimal
可以分析。您可能需要重新訂購TryParse
,才能將int
放在第一位。
TryParse()是你的朋友,但我不明白你想要什麼,因爲所有有效的整數都是有效的小數。
這個函數最終會返回什麼? – 2010-11-08 09:08:31
格式化的貨幣字符串,如果sucessully解析爲int或十進制。如果不是那麼只是字符串 – chugh97 2010-11-08 09:28:14