module Base::ClassMethods

Public Instance Methods

cb(n) click to toggle source
# File lib/digital_capital/base.rb, line 18
def cb(n)
        # ==== 处理小数部分
        s = ''
        head = n < 0 ? '欠' : '';
        m = n= n.abs();
        i = 0

        while  i < Mfraction.length;
                m1 = (((n * 1000 * (10 ** i)) % 1000)/100).to_i
                s = s + (Mdigit[m1] + Mfraction[i]).sub(/零./, '')
                i = i +1
        end
        s = (s==""? '整':s);
        m = m.to_i

        # ==== 处理整数部分
        i = 0
        while i < Munit[0].length && m > 0
                # p  "i: #{i}, m: #{m}, i: #{i}"
                j = 0
                t = ''
                while j < Munit[1].length && m >0
                        t = Mdigit[m % 10] + Munit[1][j] + t;
                        m = (m*10 / 100).to_i
                        j = j +1
                end
                s = t.sub(/(零.)*零$/, '').sub(/^$/, '零') + Munit[0][i] + s
                i = i +1
        end

        res = head + s.sub(/(零.)*零元$/, '元').sub(/(零.)+/, '零').sub(/^整$/, '零元整')
        # p res
        return res
end