網路城邦
回本城市首頁 唐老鴨之家
市長:  副市長:
加入本城市推薦本城市加入我的最愛訂閱最新文章
udn城市資訊科技網路分享【唐老鴨之家】城市/討論區/
討論區Excel VBA 字體:
上一個討論主題 回文章列表 下一個討論主題
轉換阿拉伯數字金額為國字金額的函數
 瀏覽612|回應0推薦0


等級:6
留言加入好友
Rem ======================================
Rem 阿拉伯數字金額轉換成中國數字金額程式
Rem ======================================
Function A2C(DR)
VA = "零壹貳參肆伍陸柒捌玖"
P = "拾佰仟"
Q = "萬億兆京垓杼穰溝澗正載極"
L = Len(DR)
If L > 58 Then
A2C = "58位以上不行!"
Else
N = 1
K0 = 0 ' K0 用於記錄連續四位全為 0 之情況
FG = False ' FG 用於記錄間隔 0 之情況
Do While N < L + 1
K = Val(Mid(DR, N, 1)) ' 由左至右取得數字
K0 = K0 + K ' 記錄連續四位全為0之情況
If K = 0 Then ' 若為 0
FG = True ' 記錄間隔0之情況
Else ' 不為 0
If FG Then
MN = MN + "零" ' 加(零)
FG = False
End If
MN = MN + Mid(VA, K + 1, 1) ' 加入該數字
If N = L Then ' 已到個位數
Exit Do ' 不必再作以下的處理
End If
If (L - N) Mod 4 > 0 Then
MN = MN + Mid(P, ((L - N) Mod 4), 1) ' 加"拾佰仟"
End If
End If
If (L - N) Mod 4 = 0 Then ' 若為"萬億兆京"分段處
FG = False ' 取消間隔 0 之影響
If K0 > 0 And (L - N) / 4 >= 1 Then ' 若該分段有非 0 位
MN = MN + Mid(Q, Int((L - N) / 4), 1) ' 加"萬億兆京"
K0 = 0
End If
End If
N = N + 1
Loop
If L = 1 And K = 0 Then
MN = MN + "零" ' 考慮"零元"之情況
FG = True
End If
A2C = "新台幣" + MN + "元整"
End If
End Function
回應 回應給此人 推薦文章 列印 加入我的文摘

引用
引用網址:https://city.udn.com/forum/trackback.jsp?no=58536&aid=4897959