数値からローマ数字への変換
- 第42回 Ruby/Rails勉強会@関西 の演習問題
require 'win32ole' class Integer EXCEL = WIN32OLE.new 'Excel.Application' def to_roman EXCEL.WorksheetFunction.Roman(self) end end [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 14, 15, 16, 19, 20, 21, 24, 25, 26, 40, 49, 50, 51, 54, 55, 56, 60, 99, 100, 101, 200, 400, 500, 600, 900, 999, 1000, 1969, 2000, 2004, 2010].each do |i| puts "%8d: %s" % [i, i.to_roman] end # >> 0: # >> 1: I # >> 2: II # >> 3: III # >> 4: IV # >> 5: V # >> 6: VI # >> 9: IX # >> 10: X # >> 11: XI # >> 14: XIV # >> 15: XV # >> 16: XVI # >> 19: XIX # >> 20: XX # >> 21: XXI # >> 24: XXIV # >> 25: XXV # >> 26: XXVI # >> 40: XL # >> 49: XLIX # >> 50: L # >> 51: LI # >> 54: LIV # >> 55: LV # >> 56: LVI # >> 60: LX # >> 99: XCIX # >> 100: C # >> 101: CI # >> 200: CC # >> 400: CD # >> 500: D # >> 600: DC # >> 900: CM # >> 999: CMXCIX # >> 1000: M # >> 1969: MCMLXIX # >> 2000: MM # >> 2004: MMIV # >> 2010: MMX
to_old_roman はできないみたい。