VB.NET 将双精度值转换为字符串 = 精度损失

use*_*069 3 vb.net string double

你好,我在 VB.NET 中有一个像这样的双值:

Dim value = 9.729000000000001
Run Code Online (Sandbox Code Playgroud)

转换为字符串时,我得到:

value.tostring() "9.729"
Run Code Online (Sandbox Code Playgroud)

我尝试添加格式:

value.tostring("0.00000000000000")
Run Code Online (Sandbox Code Playgroud)

但它没有用(我失去了结局 1)。

我怎样才能保留我所有的数字?

equ*_*sde 5

这是记录在这里这里

尝试这个

Dim value As Double = 9.729000000000001
Dim strText As String = value.ToString("G17")
Run Code Online (Sandbox Code Playgroud)

或这个

Dim value As Double = 9.729000000000001
Dim strText As String = value.ToString("R")
Run Code Online (Sandbox Code Playgroud)