[VB6 ] 有關於阿拉伯數字轉成中文字金額問題

看板Visual_Basic作者 (白吉勝)時間19年前 (2006/08/24 12:48), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串1/1
小弟是這樣寫的.... 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
判斷0的時候都不要輸出字來呢??
08/24 15:15, 1F

08/24 19:54, , 2F
問題解決了..謝謝啦!!不過還是想要縮短一點
08/24 19:54, 2F

08/26 08:43, , 3F
我有寫過,不過忘了怎麼寫的了XD 而且位數沒寫這麼長XD
08/26 08:43, 3F

08/26 08:44, , 4F
再寫一次的時候又寫不出來了 囧
08/26 08:44, 4F
文章代碼(AID): #14xI-AC6 (Visual_Basic)
文章代碼(AID): #14xI-AC6 (Visual_Basic)