- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
我只知道將數字180.30改成壹佰捌拾.參
但要如何將數字180.80改成國字壹捌零點參零
請大大幫忙 :di ...
sasah168 發表於 2013-12-10 11:45 
置於 "模組 -> Module1" 內:- Sub Ex()
- Dim strs As String, num As Double
-
- num = 15673624.89
- strs = NumToCur(num)
- MsgBox num & Chr(10) & strs & Chr(10) & NumToCur(180.3)
- End Sub
- Function NumToCur(ByVal num) As String
- Const cNum As String = "零壹貳參肆伍陸柒捌玖- 點 "
- Dim sNum As String
- Dim i As Long
-
- If (num <> 0) And (Abs(num) < 10000000000000#) Then
- sNum = Trim(Str(Int(Abs(num) * 100)))
- For i = 1 To Len(sNum) ' 逐位轉換
- NumToCur = NumToCur + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)
- ' NumToCur = NumToCur + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1)
- Next
- NumToCur = Replace(NumToCur, " ", "")
- If num < 0 Then NumToCur = "(負)" + NumToCur
- Else
- NumToCur = IIf(num = 0, "零值", "溢出")
- End If
- End Function
複製代碼 |
|