[VB6 ] 有關於阿拉伯數字轉成中文字金額問題
小弟是這樣寫的....
Dim a(7)
Dim i, j, k, num As Integer
Dim m, n As Double
m = 1000000
n = Text1.Text
For i = 1 To 7
a(i) = n \ m
n = n - (a(i) * m)
m = m / 10
Next i
For k = 1 To 7
If a(k) = 0 Then a(k) = "零"
If a(k) = 1 Then a(k) = "壹"
If a(k) = 2 Then a(k) = "貳"
If a(k) = 3 Then a(k) = "參"
If a(k) = 4 Then a(k) = "肆"
If a(k) = 5 Then a(k) = "伍"
If a(k) = 6 Then a(k) = "陸"
If a(k) = 7 Then a(k) = "柒"
If a(k) = 8 Then a(k) = "仈"
If a(k) = 9 Then a(k) = "玖"
Next k
num = Len(Text1.Text)
Select Case num
Case 7
Print a(1) & "佰" & a(2) & "拾" & a(3) & "萬" & a(4) & "千" & a(5) & "百
" & a(6) & "拾" & a(7) & "元"
Case 6
Print a(2) & "拾" & a(3) & "萬" & a(4) & "千" & a(5) & "百" & a(6) & "拾
" & a(7) & "元"
Case 5
Print a(3) & "萬" & a(4) & "千" & a(5) & "百" & a(6) & "拾" & a(7) & "元
"
Case 4
Print a(4) & "千" & a(5) & "百" & a(6) & "拾" & a(7) & "元"
Case 3
Print a(5) & "百" & a(6) & "拾" & a(7) & "元"
Case 2
Print a(6) & "拾" & a(7) & "元"
Case 1
Print a(7) & "元"
End Select
End Sub
印出來的文字,如果每個位數都不是零的話,就還算正常
但如果輸入 10300
就會變成 "壹萬零仟三佰零拾零元" 這樣算正確嗎? 有沒有可能把零的地方取消變
成 "壹萬零參百元" 呢?
或者是說 有沒有更簡潔的方法呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.19.28
推
08/24 15:15, , 1F
08/24 15:15, 1F
推
08/24 19:54, , 2F
08/24 19:54, 2F
推
08/26 08:43, , 3F
08/26 08:43, 3F
→
08/26 08:44, , 4F
08/26 08:44, 4F
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章