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