2014-02-25 44 views
3

你好,我在VB.NET這樣的雙重價值:VB.NET轉換雙重價值爲String =精度損失

Dim value = 9.729000000000001 

當轉換爲字符串,我得到這個:

value.tostring() "9.729" 

我嘗試添加格式:

value.tostring("0.00000000000000") 

但它沒有工作(我失去了結局1)。

我該如何保留所有的數字?

+1

問題只在您的格式字符串,請格式化來挑'value.ToString右表示(「R」)',你就會得到它。 –

+0

問題是,當你從double轉換爲string時,它會獲得完整的新值。 – Hoh

+0

@Adriano由於equisde的回答,我刪除了我的評論;實際上它是G17(我測試G16並且不夠)。但是這個限制非常接近... – varocarbas

回答

4

這是記錄herehere

試試這個

Dim value As Double = 9.729000000000001 
Dim strText As String = value.ToString("G17") 

或者這

Dim value As Double = 9.729000000000001 
Dim strText As String = value.ToString("R")