18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# 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
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(/^整$/, '零元整')
return res
end
|