Helper To Print Numbers As Ordinals (1st, 2nd, 3rd...)
DZone's Guide to
Helper To Print Numbers As Ordinals (1st, 2nd, 3rd...)
Join the DZone community and get the full member experience.
Join For Free
def number_to_ordinal(num)
num = num.to_i
if (10...20)===num
"#{num}th"
else
g = %w{ th st nd rd th th th th th th }
a = num.to_s
c=a[-1..-1].to_i
a + g[c]
end
end
number_to_ordinal(12) => "12th"
number_to_ordinal(7) => "7th"
Note that floats will be converted to ints (without rounding) before processing.
Topics:
Opinions expressed by DZone contributors are their own.
{{ parent.title || parent.header.title}}
{{ parent.tldr }}
{{ parent.linkDescription }}
{{ parent.urlSource.name }}