我收集的一个网友写的函数,希望对你有所帮助,如下:
Function Int2Chn(ByVal L_num As Integer) As String
Dim n_data, num, c_data, n_str As String
Dim i, j, k, l As Long
num = L_num
n_data = String(14 - Len(Trim(CStr(Abs(num * 100)))), " ") + Trim(CStr(Abs(num) * 100))
For i = 1 To 14 Step 1
n_str = Mid(n_data, i, 1)
If n_str <> " " Then
If Mid(n_data, i, 2) = "00" Or (n_str = "0" And (i = 4 Or i = 8 Or i = 12 Or i = 14)) Then
Else
c_data = c_data + Trim(Mid("零壹贰叁肆伍陆柒捌玖", CInt(n_str) + 1, 1))
End If
If n_str = "0" And i <> 4 And i <> 8 And i <> 12 Then
Else
c_data = c_data + Trim(Mid("仟佰拾亿仟佰拾万仟佰拾圆角分", i, 1))
End If
If Right(c_data, 4) = "亿万" Then c_data = Left(c_data, Len(c_data) - 1)
End If
Next
If num < 0 Then c_data = "(负数)" + c_data
If num = 0 Then c_data = "零圆"
If n_str = "0" Then c_data = c_data + "整"
Int2Chn = c_data
End Function
while ( @i_I <= len(@v_LowerStr))
begin
select @v_UpperPart = case substring(@v_LowerStr,len(@v_LowerStr) - @i_I + 1,1)
WHEN '.' THEN '元'
WHEN '0' THEN '零'
WHEN '1' THEN '壹'
WHEN '2' THEN '贰'
WHEN '3' THEN '叁'
WHEN '4' THEN '肆'
WHEN '5' THEN '伍'
WHEN '6' THEN '陆'
WHEN '7' THEN '柒'
WHEN '8' THEN '捌'
WHEN '9' THEN '玖'
END
+
case @i_I
WHEN 1 THEN '分'
WHEN 2 THEN '角'
WHEN 3 THEN ''
WHEN 4 THEN ''
WHEN 5 THEN '拾'
WHEN 6 THEN '佰'
WHEN 7 THEN '仟'
WHEN 8 THEN '万'
WHEN 9 THEN '拾'
WHEN 10 THEN '佰'
WHEN 11 THEN '仟'
WHEN 12 THEN '亿'
WHEN 13 THEN '拾'
WHEN 14 THEN '佰'
WHEN 15 THEN '仟'
WHEN 16 THEN '万'
ELSE ''
END
select @v_UpperStr = @v_UpperPart + @v_UpperStr
select @i_I = @i_I + 1
end