forked from Shiloh/githaven
26 lines
371 B
Go
26 lines
371 B
Go
|
package humanize
|
||
|
|
||
|
import "strconv"
|
||
|
|
||
|
// Ordinal gives you the input number in a rank/ordinal format.
|
||
|
//
|
||
|
// Ordinal(3) -> 3rd
|
||
|
func Ordinal(x int) string {
|
||
|
suffix := "th"
|
||
|
switch x % 10 {
|
||
|
case 1:
|
||
|
if x%100 != 11 {
|
||
|
suffix = "st"
|
||
|
}
|
||
|
case 2:
|
||
|
if x%100 != 12 {
|
||
|
suffix = "nd"
|
||
|
}
|
||
|
case 3:
|
||
|
if x%100 != 13 {
|
||
|
suffix = "rd"
|
||
|
}
|
||
|
}
|
||
|
return strconv.Itoa(x) + suffix
|
||
|
}
|