Visual Basic .NET中的自定义数字格式字符串

时间:2014-08-24 15:57:39

标签: .net vb.net string-formatting

我正在尝试逐步学习Visual Basic .NET,但现在我使用String.Format()方法遇到了自定义数字格式字符串的问题。

我有一个像这样的整数变量

Dim x As Integer = 123456

我希望使用String.Format()方法将其格式化为1,234.56。 我认为以下是正确的格式,但它不起作用:

String.Format("#,###.##", x)

获取我需要的结果的正确格式字符串是什么?。

2 个答案:

答案 0 :(得分:0)

作为Plutonix所说的替代方案,您可以使用一个简单的函数来实现:

Public Function FormatInt(format As String, arg As Integer) As String
    Dim ArgString As String = arg.ToString
    Dim Result As String = ""

    Dim FormatIndex As Integer = 0
    For i As Integer = 0 To format.Length - 1
        If format.Substring(i, 1) = "#" Then
            Result = Result + ArgString.Substring(FormatIndex, 1)
            FormatIndex = FormatIndex + 1
        Else
            Result = Result + format.Substring(i, 1)
        End If
    Next

    Return Result
End Function

这可能不是最佳解决方案,但使用起来非常简单:

Dim x As Integer = 123456    
FormatInt("#,##.##",x)

反过来让它反过来(反转它)你可以反转这个过程。它不像String.Format()方法那样工作,但我相信它符合您的需求

答案 1 :(得分:0)

x.tostring("n2")

在上面的示例中,它会将结果显示为123,456.00。

不是你可以使用N或N0到你想要的任何数字,如N2,N3,....