Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/ext/string.rb
Instance Method Summary collapse
-
#a_decimal_localizado ⇒ String
Convierte una cadena a un decimal localizado.
-
#a_decimal_nolocalizado ⇒ String
Convierte una cadena a un decimal no localizado.
-
#altas_bajas ⇒ String
Convierte una cadena a altas y bajas, es decir, la primera letra de cada palabra en mayúscula y las demás en minúsculas.
Instance Method Details
#a_decimal_localizado ⇒ String
Convierte una cadena a un decimal localizado.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ext/string.rb', line 18 def a_decimal_localizado if !self || self == "" return "" end delimiter = I18n.t("number.format.delimiter") # puts "delimiter=#{delimiter}" separator = I18n.t("number.format.separator") # puts "separator=#{separator}" neg = split("-").first if neg == "" num = split("-")[1] neg = "-" else num = self neg = "" end # puts "neg=#{neg}" pent = num.split(".").first # puts "pent=#{pent}" pdec = num.split(".")[1] # puts "pdec=#{pdec}" pent = pent.reverse.gsub(/\d{3}/, "\\&#{delimiter}") # puts "pent=#{pent}" pent = pent.reverse.sub(/^[#{delimiter}]/, "") # puts "pent=#{pent}" if pdec "#{neg}#{pent}#{separator}#{pdec}" else "#{neg}#{pent}" end end |
#a_decimal_nolocalizado ⇒ String
Convierte una cadena a un decimal no localizado. Basado en soluciones de stackoverflow.com/questions/6541209/decimals-and-commas-when-entering-a-number-into-a-ruby-on-rails-form
10 11 12 13 14 |
# File 'lib/ext/string.rb', line 10 def a_decimal_nolocalizado delimiter = I18n.t("number.format.delimiter") separator = I18n.t("number.format.separator") gsub(/[#{delimiter}#{separator}]/, delimiter => "", separator => ".") end |
#altas_bajas ⇒ String
Convierte una cadena a altas y bajas, es decir, la primera letra de cada palabra en mayúscula y las demás en minúsculas.
54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/ext/string.rb', line 54 def altas_bajas inip = true r = "".dup # descongela each_char do |c| r << if inip c.upcase else c.downcase end inip = !c.match(/^[[:alpha:]]$/) end r end |