Sha256: d43b98e96bdb359db983b8edaddfd1cf043798968f787a4dae8aab5be1cd8d05

Contents?: true

Size: 1.59 KB

Versions: 5

Compression:

Stored size: 1.59 KB

Contents

#
# filename: digit_delim.rb
#
#

$NUM_DELIM_EACH = 3
$NUM_DELIM_CHAR = ','
$NUM_DELIM_ = '.'


class String

  # :method: w_dm
  # with delimiters: separate digit-string into each n-digits
  # with delimiters.
  # ==== Args
  # adp :: length of digits after the decimal point.
  #        (-1 if you want all of digits after the decimal point)
  # n :: the number of digits length of each separated string.
  # ==== Return
  # separated string.
  def w_dm(adp=-1, n=3)
    self.gsub( /(\d+)?(\.\d*)?/ ) {
      s1="#{$1}".dup; s2="#{$2}".dup;

      if s2.size != 0
        if adp == -1
          s2="#{s2}00".slice(0, s2.size)
        else
          s2="#{s2}00".slice(0, adp+1)
        end
      end
      s1.reverse.gsub( /\d{#{n}}(?=\d)/ ){|r| r+","}.reverse+s2
    }
  end
  alias to_f_old to_f
  
  # :method: wo_dm
  # without delimiters: remove the delimiters in digit-string.
  # ==== Args
  # none.
  # ==== Return
  # digit-string without the delimiters.
  def wo_dm; self.gsub(/,/, ""); end
  
  # :method: to_wof
  # remove delimiters in digit-string and convert it to Float.
  # ==== Args
  # none.
  # ==== Return
  # A number in Float.
  def to_wof; self.wo_dm.to_f_old; end
  
  # :method: to_fu
  # convert digit-string into float concerning with unit.
  # ==== Args
  # none.
  # ==== Return
  # A number in Float. If the original string has '%', the number is
  # divided by 100.0.
  def to_fu
    ret = self.to_wof
    # if self =~ /%$/ then ret /= 100.0 else ret end
    case self
    when /%$/
      ret /= 100.0

    else
      ret

    end

  end

end


require "kannum"

#### endof filename: digit_delim.rb

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
digit_delim-0.3.2 lib/digit_delim.rb
digit_delim-0.3.1 lib/digit_delim.rb
digit_delim-0.3.0 lib/digit_delim.rb
digit_delim-0.2.0 lib/digit_delim.rb
digit_delim-0.1.0 lib/digit_delim.rb