Sha256: b8bd3d8e24b6920d9b7f6775a4366f4791f1a0c2eae4adcc58584c0523493df7
Contents?: true
Size: 795 Bytes
Versions: 2
Compression:
Stored size: 795 Bytes
Contents
# frozen_string_literal: true # @author Hernani Rodrigues Vaz module ExtensoPt # Produz numeral romano a partir de inteiro # # @param [Integer] inteiro a converter # @return [String] numeral romano do inteiro def self.ri2r(inteiro) return '' if inteiro.zero? # numeracao romana nao tem negativos inteiro = inteiro.abs if inteiro.negative? ROMAN.each { |r, v| return r.to_s + ri2r(inteiro - v) if v <= inteiro } end # Produz inteiro a partir de numeral romano # # @param [String] numeral romano a converter # @param [Integer] ultimo valor convertido # @return [Integer] inteiro do numeral romano def self.rr2i(numeral, ultimo) return 0 if numeral.empty? v = ROMAN[numeral[-1].to_sym] rr2i(numeral.chop, v) + (v < ultimo ? -v : v) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
extenso_pt-0.7.1 | lib/extenso_pt/romana.rb |
extenso_pt-0.7.0 | lib/extenso_pt/romana.rb |