看板 Visual_Basic 關於我們 聯絡資訊
小弟是這樣寫的.... 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
BearWu:判斷0的時候都不要輸出字來呢?? 08/24 15:15
bbsi:問題解決了..謝謝啦!!不過還是想要縮短一點 08/24 19:54
fumizuki:我有寫過,不過忘了怎麼寫的了XD 而且位數沒寫這麼長XD 08/26 08:43
fumizuki:再寫一次的時候又寫不出來了 囧 08/26 08:44