2013-02-25 137 views
2

我想將字符串轉換爲小數,然後轉換爲字符串,然後再轉換爲小數。將字符串轉換爲十進制字符串並返回十進制

我想:

Dim s As String = "0.7655" 

CDec(sDec).ToString("0.00") 'results in: 7653,00 
CDec(sDec).ToString 'results in: 7648 
CDec(sDec).ToString("N") 'results in: 7.653,00 

所以沒有這些工作!

是否沒有簡單的函數來將精確的小數再次轉換爲其字符串表示形式?對於這樣一個簡單的任務似乎工作太多了!

最好不用格式化字符串,因爲在那種情況下,我似乎事先知道結果字符串應該有多少字符。 將其轉換爲字符串後,我也想將它再次轉換爲小數。

+1

他們可以工作,但您需要指定文化代碼。對SO進行快速搜索會帶來很多解決方案 – DiskJunky 2013-02-25 21:24:46

回答

6

在您當前的文化中,小數點分隔符可能是逗號而不是點。使用不變文化將始終使用點:

Dim s As String = "0.7655" 

Dim decValue As Decimal = Decimal.Parse(s, System.Globalization.CultureInfo.InvariantCulture) 
Console.WriteLine(decValue.ToString()) 
0

你應該能夠通過使用Parse方法獲得答案。

Dim s As String = "0.7655" 
    Dim c As Decimal = Nothing 

    c = Decimal.Parse(s) 

    Console.WriteLine(c) 

然後,您可以使用ToString方法轉換回字符串。

相關問題