会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
.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
小黑三
阅读(
4093
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部