2010-08-18 111 views

回答

2

沒有明顯的理由爲什麼它會值更改爲2288.2,但如果它實際上爲22882.0結束了,那麼你只是使用不使用期爲小數separtor文化。

你只需要指定一個文化確實使用期爲小數分隔:

Dim d As Double = Double.Parse(theString, CultureInfo.InvariantCulture) 
1
Dim input As String = "22.882" 
If Double.TryParse(input, Globalization.NumberStyles.Float, New Globalization.CultureInfo("en-US"), result) Then 
    Return result 
Else 
    Return 0D ' Or error 
End If 
+0

謝謝!全球化.NumberStyles.Float的論點似乎有訣竅。定期的TryParse也導致22882.0的值不正確。 – CodeMonkey 2010-08-18 11:33:45