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

所以这些都不起作用!

是否没有简单的功能可以再次将精确的十进制转换为其字符串表示形式?对于这样一个简单的任务,似乎工作量太大了!

最好不要格式化字符串,因为在这种情况下,我似乎事先知道结果字符串应该有多少个字符。将其转换为字符串后,我还想再次将其转换回小数。

4

2 回答 2

7

在您当前的文化中,小数分隔符可能是逗号而不是点。使用不变的文化将始终使用点:

Dim s As String = "0.7655"

Dim decValue As Decimal = Decimal.Parse(s, System.Globalization.CultureInfo.InvariantCulture)
Console.WriteLine(decValue.ToString())
于 2013-02-25T21:53:53.193 回答
0

您应该能够通过使用 Parse 方法来获得答案。

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

    c = Decimal.Parse(s)

    Console.WriteLine(c)

然后,您可以使用该ToString方法转换回字符串。

于 2013-02-25T21:42:50.723 回答