在asp.net中的数字后设置后缀

时间:2016-07-03 16:27:45

标签: asp.net vb.net

我在VB.Net中有一个Web应用程序,我需要为地方提供排名。计算完排名后,我想加一个这样的后缀:第1,第2,第3,第4等。请告诉我如何在每个数字上加上合适的后缀?

1 个答案:

答案 0 :(得分:2)

你可以编写一个简单的函数,它将一个Integer(或Long)作为一个参数,并返回一个像这样的序数字符串。

Private Function Ordinal(num As Long) As String
    Dim suff As String = "th"
    If num < 4 Or num > 20 Then
        Select Case num Mod 10
            Case 1
                suff = "st"
            Case 2
                suff = "nd"
            Case 3
                suff = "rd"
        End Select
    End If
    Return num.ToString & suff
End Function

如果您希望使用千位分隔符格式化数字,请将Return语句更改为

Return num.ToString("N0") & suff 'e.g. 1,234th

像这样调用函数

Dim myNum as Integer = 123
Dim myOrd as String = Ordinal(myNum) 'will be 123rd