2016-07-03 4 views
0

Ich habe eine Webanwendung in VB.Net, wo ich Ränge zu Orten geben muss. Nachdem die Ränge berechnet sind, möchte ich ein Suffix wie folgt setzen: 1., 2., 3., 4. etc. Bitte geben Sie mir eine Idee, wie man eine passende Suffix auf jede Zahl setzt?Einstellung Suffix nach Zahlen in asp.net

Antwort

2

Sie können eine einfache Funktion schreiben, die ein Integer (oder ein Long) als Argument verwendet und eine ordinale Zeichenfolge wie diese zurückgibt.

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 

Wenn Sie die Nummer lieber mit dem Tausendertrennzeichen, ändern Sie die Return Anweisung

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

Rufen Sie die Funktion wie folgt

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