Skip to content

Instantly share code, notes, and snippets.

@kirs
Created January 27, 2012 14:21
Show Gist options
  • Save kirs/1688995 to your computer and use it in GitHub Desktop.
Save kirs/1688995 to your computer and use it in GitHub Desktop.
Finnish numbers generator
#encoding: utf-8
module Modules
module FinnishNumbers
def self.convert_to_s(number)
number = number.to_i
return "nolla" if number.zero?
number_symbols = number.to_s.split('').map { |digit| digit.to_i }
digits = "", "yksi", "kaksi", "kolme", "neljä", "viisi", "kuusi", "seitsemän", "kahdeksan", "yhdeksän", "kymmenen"
if number <= 10
digits[number_symbols[0]]
elsif number < 20
digits[number_symbols[1]] + "toista"
elsif number < 100
digits[number_symbols[0]] + "kymmenta" + self.convert_to_s(number.to_s[-1, 1])
elsif number < 200
"sata" + self.convert_to_s(number.to_s[-2, 2])
elsif number < 1000
digits[number_symbols[0]] + "sataa" + self.convert_to_s(number.to_s[-2, 2])
elsif number < 2000
"tuhat" + self.convert_to_s(number.to_s[-3, 3])
elsif number < 10000
digits[number_symbols[0]] + "tuhatta" + self.convert_to_s(number.to_s[-3, 3])
elsif number == 10000
digits[10] + "tuhatta"
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment