我想解析一個非常小的數字(範圍從0到20)。所以,我知道這不是尺寸問題。但是我的代碼始終返回false。int.TryParse返回false爲整數值
parseResult = int.TryParse(tempResult.ToString().Trim(), out Result);
這裏tempResult是一個對象類型值可以是整數或字符串。我收到的值是一個整數(準確地說是2)。然而,parseResult始終是錯誤的。
我在這裏錯過了什麼?
編輯: 顯然,數據庫中的值保存爲十進制,因此實際值爲2M,而不是2.0000。現在,如何解決這個問題。我不需要尾隨零,只需要十進制前的值。
編輯: 該值可以是字符串或小數。我只想使用小數部分。我總是可以直接轉換爲十進制,但如果值是一個字符串,那將不起作用。
編輯:
全功能:
object tempResult = bqObject.GetSingleValue(strQuery);
//get value from the system param table
if (tempResult == null)
{
tempResult = bqObject.GetSingleValue(strSysParamQuery);
}
//validate database values
if (tempResult == null)
{
throw new BaseException("DB100001");
}
else
{
parseResult = int.TryParse(tempResult.ToString().Trim(), out Result);
if (!parseResult)
{
throw new BaseException("DB100002");
}
}
首先查詢讀取一個nvarchar列,而第二個讀取小數列。所以,我試圖解析這兩個字符串,然後解析爲int。問題是數值到達十進制時,tempResult.ToString().Trim()
行將其轉換爲2M
而不是2.0000
。這就是爲什麼該功能失敗。
do var test = tempResult.ToString()。Trim();然後調試並查看值,它看起來是否正確? – Botonomous
tempResult.ToString()的值是什麼。修剪()完全?結果是什麼類型? – RvdK
你可以給我們一個「tempResult」的值的例子,它支持返回true嗎? – Nasreddine