=begin ローテンション日記さん のところより。 変更点 2004/03/10 2桁の数字では一番右にカンマがついてしまうのを修正。 =end class Numeric def c_sep digit = Array.new if self.zero? then return self.to_s end if self < 0 then target = self.abs minus = "-" else target = self minus = "" end ans = target.to_s.length.divmod(3) if ans[0] == 0 digit = target.to_s return digit else if ans[1].nonzero? then digit << target.to_s[0..ans[1]-1] << target.to_s[ans[1]..-1].scan(/\d{3}/) else digit = target.to_s.scan(/\d{3}/) end digit = minus + digit.join(",") return digit end end end