FrontPage  Index  Search  Changes  RSS  wikifarm  Login

String_comma.rb

概要

数字とおぼしき文字列にこcomma「,」を加える(encomma、comma)/取り去る(decomma)。


依存性

  1. Linux でも Windowsでもつかえます。

利用者

  1. comma.rb

実行見本:

p 123456789.01234.to_s.comma       #=>  "123,456,789.01234"
p -123456789.01234.to_s.comma("_") #=> "-123_456_789.01234"

コメントがありましたらどうぞ

(comment plugin is disabled).

説明


ソース:

String_comma.rb

#! ruby -Ks
#-- String_comma.rb
#-- String_comma.pi
#
# used by →comma.rb[comma]
#

# 苦労して作った自作のがあったのだが・・
#  http://d.hatena.ne.jp/rubyco/20060228/digit
# の方式に変更した。

$comma_mark =","

class String
  def encomma(mark=$comma_mark)  # v.2
    ret=self.dup
    1 while ret.gsub!(/^([\+\-]?\d*\d)(\d\d\d)/, "\\1#{mark}\\2")
    ret
  end
  alias comma encomma

  def decomma(mark=$comma_mark)
    return self.tr(mark,"")
  end
end

if __FILE__ == $0
 p 123456789.01234.to_s.comma       #=>  "123,456,789.01234"
 p -123456789.01234.to_s.comma("_") #=> "-123_456_789.01234"

 p " +23456789.01234".comma("_")  # NG on v.2 but ok.
 p "++23456789.01234".comma("_")  # NG
 p "+123456789.01234".comma("_")
end

Last modified:2007/07/19 15:19:39
Keyword(s):
References: