2014-02-10 81 views
1

這是我的代碼,我得到這個錯誤:「輸入字符串的格式不正確。」C#中的雙類型解析錯誤#

var variable1= double.Parse("0.03".ToString(CultureInfo.InvariantCulture)); 

但對於這個代碼我沒有得到錯誤:

var variable1= double.Parse("0.03",CultureInfo.InvariantCulture); 

有什麼原因呢?

+2

這並不拋出異常。你在尋找'var sss = double.Parse(「0.03」,CultureInfo.InvariantCulture);'? –

+0

我檢查了一下,我應該更詳細地描述我的問題 –

+0

@SonerGönül:它可能不會爲* you *拋出異常,但是如果當前文化不使用'.'作爲小數點分隔符,它會拋出異常。 –

回答

8
"0.03".ToString(CultureInfo.InvariantCulture) 

評估爲"0.03"

綜觀隔離這個表達式,你可以看到什麼是錯的。你爲什麼要在字符串上調用ToString()?調用ToString() on a string只是返回原始字符串。

無論如何,繼續前進。因此,您的函數調用相同

double.Parse("0.03") 

而這可能會導致一個錯誤,因爲當地的小數點分隔符不"."

你的意思是寫

double.Parse("0.03", CultureInfo.InvariantCulture)