ordinals.go raw

   1  package humanize
   2  
   3  import "strconv"
   4  
   5  // Ordinal gives you the input number in a rank/ordinal format.
   6  //
   7  // Ordinal(3) -> 3rd
   8  func Ordinal(x int) string {
   9  	suffix := "th"
  10  	switch x % 10 {
  11  	case 1:
  12  		if x%100 != 11 {
  13  			suffix = "st"
  14  		}
  15  	case 2:
  16  		if x%100 != 12 {
  17  			suffix = "nd"
  18  		}
  19  	case 3:
  20  		if x%100 != 13 {
  21  			suffix = "rd"
  22  		}
  23  	}
  24  	return strconv.Itoa(x) + suffix
  25  }
  26