Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

About this user

JavaScript Wizard

« Newer Snippets
Older Snippets »
Showing 1-1 of 1 total  RSS 

Ordinals for All Numeric Types

This snippet will extend all numerical types with a method for returning the English ordinal, i.e. 1st, 2nd, 3rd, 4th, etc.

class Numeric
  def ordinal
    cardinal = self.to_i.abs
    if (10...20).include?(cardinal) then
      cardinal.to_s << 'th'
    else
      cardinal.to_s << %w{th st nd rd th th th th th th}[cardinal % 10]
    end
  end
end
 
[1, 22, 123, 10, -3.1415].collect { |i| i.ordinal }
=> ["1st", "22nd", "123rd", "10th", "3rd"]


This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
« Newer Snippets
Older Snippets »
Showing 1-1 of 1 total  RSS