会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
.net 学习
博客园
首页
新随笔
联系
订阅
管理
小写人民币转换成大写人民币
小写人民币转换成大写人民币
Public
Function ConvertToRMB()
Function
ConvertToRMB(
ByVal
inputString
As
String
)
As
String
Dim
numList
As
String
=
"
零壹贰叁肆伍陆柒捌玖
"
Dim
rmbList
As
String
=
"
分角元拾佰仟万拾佰仟亿拾佰仟万
"
Dim
number
As
Double
=
0
Dim
tempOutString
As
String
Try
number
=
Double
.Parse(
inputString
)
Catch
ex
As
SystemException
MessageBox.Show(
"
传入参数非数字!
"
)
End
Try
If
number
>
9999999999999.99
Then
Return
"
超出范围的人民币值
"
End
If
Dim
tempNumberString
As
String
=
Convert.ToInt64(number
*
100
).ToString()
Dim
tempNmberLength
As
Integer
=
tempNumberString.Length
Dim
i
As
Integer
=
0
While
i
<
tempNmberLength
Dim
oneNumber
As
Integer
=
Int32.Parse(tempNumberString.Substring(i,
1
))
Dim
oneNumberChar
As
String
=
numList.Substring(oneNumber,
1
)
Dim
oneNumberUnit
As
String
=
rmbList.Substring(tempNmberLength
-
i
-
1
,
1
)
If
Not
(oneNumberChar
=
"
零
"
)
Then
tempOutString
+=
oneNumberChar
+
oneNumberUnit
Else
If
oneNumberUnit
=
"
亿
"
OrElse
oneNumberUnit
=
"
万
"
OrElse
oneNumberUnit
=
"
元
"
OrElse
oneNumberUnit
=
"
零
"
Then
While
tempOutString.EndsWith(
"
零
"
)
tempOutString
=
tempOutString.Substring(
0
, tempOutString.Length
-
1
)
End
While
End
If
If
oneNumberUnit
=
"
亿
"
OrElse
(oneNumberUnit
=
"
万
"
AndAlso
Not
tempOutString.EndsWith(
"
亿
"
))
OrElse
oneNumberUnit
=
"
元
"
Then
tempOutString
+=
oneNumberUnit
Else
If
Not
tempOutString
Is
Nothing
Then
Dim
tempEnd
As
Boolean
=
tempOutString.EndsWith(
"
亿
"
)
Dim
zeroEnd
As
Boolean
=
tempOutString.EndsWith(
"
零
"
)
If
tempOutString.Length
>
1
Then
Dim
zeroStart
As
Boolean
=
tempOutString.Substring(tempOutString.Length
-
2
,
2
).StartsWith(
"
零
"
)
If
Not
zeroEnd
AndAlso
(zeroStart
OrElse
Not
tempEnd)
Then
tempOutString
+=
oneNumberChar
End
If
Else
If
Not
zeroEnd
AndAlso
Not
tempEnd
Then
tempOutString
+=
oneNumberChar
End
If
End
If
End
If
End
If
End
If
i
+=
1
End
While
If
Not
tempOutString
Is
Nothing
Then
While
tempOutString.EndsWith(
"
零
"
)
tempOutString
=
tempOutString.Substring(
0
, tempOutString.Length
-
1
)
End
While
While
tempOutString.EndsWith(
"
元
"
)
tempOutString
=
tempOutString
+
"
整
"
End
While
Return
tempOutString
Else
Return
""
End
If
End Function
可以根据此代码改编成大写千克。此段代码是以前收集的,忘记了出处。在此发布出来,希望能给大家提供方便,对原作者表示感谢.
posted on
2007-06-19 14:30
小黑三
阅读(
4103
) 评论(
0
)
收藏
举报
刷新页面
返回顶部