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