分享
 
 
 

金额转换算法

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

无聊中,便写了段金额转换的代码,很糙,但还能用:“)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim str As String

str = Me.TextBox1.Text.Trim

Dim isfs As Boolean

If Left(str, 1) = "-" Then

isfs = True

str = str.Remove(0, 1)

Else

isfs = False

End If

Dim strpoint As String

Dim point() As String

Dim j As Int16

Dim jj() As String

Dim jjj As String

jjj = ""

If str.IndexOf(".") <> -1 Then

point = Split(str, ".", -1, CompareMethod.Text)

str = point(0)

strpoint = point(1)

ReDim jj(strpoint.Length - 1)

For j = 0 To strpoint.Length - 1

jj(j) = Left(strpoint, 1)

strpoint = Right(strpoint, strpoint.Length - 1)

jjj = jjj + convert(jj(j))

Next

End If

Dim strcode As String

strcode = ""

While strcode.Length <= str.Length

strcode = strcode & "2345" & "2346"

End While

strcode = "1" & strcode

strcode = Left(strcode, str.Length)

Dim i As Int16

Dim a() As String

Dim strcode1 As String

Dim countstr As Int16

Dim strcode2 As String

countstr = strcode.Length

ReDim a(strcode.Length - 1)

For i = 0 To countstr - 1

a(i) = Right(strcode, 1)

strcode = Left(strcode, strcode.Length - 1)

strcode1 = strcode1 & a(i)

strcode2 = strcode2 & "," & Mid(str, i + 1, 1) & Mid(strcode1, i + 1, 1)

Next

strcode2 = Right(strcode2, strcode2.Length - 1)

Dim newstr() As String

newstr = Split(strcode2, ",", -1, CompareMethod.Text)

Dim ii As Int16

Dim laststr As String

Dim strcode3 As String

Dim leftstr As String

Dim rightstr As String

For ii = 0 To newstr.Length - 1

strcode3 = newstr(ii)

leftstr = Left(strcode3, 1)

rightstr = Right(strcode3, 1)

rightstr = Replace(rightstr, rightstr, convert2(rightstr))

leftstr = Replace(leftstr, leftstr, convert(leftstr))

If leftstr = "零" And (rightstr = "拾" Or rightstr = "佰" Or rightstr = "仟") Then

rightstr = ""

End If

If leftstr = "零" And (rightstr = "万" Or rightstr = "亿") Then

leftstr = ""

End If

strcode3 = leftstr & rightstr

laststr = laststr & strcode3

Next

While laststr.IndexOf("佰零万") <> -1

laststr = laststr.Replace("零万", "万")

End While

While laststr.IndexOf("仟零零万") <> -1

laststr = laststr.Replace("零零万", "万")

End While

While laststr.IndexOf("零万") <> -1

laststr = laststr.Replace("零万", "零")

End While

While laststr.IndexOf("零亿") <> -1

laststr = laststr.Replace("零亿", "亿")

End While

While laststr.IndexOf("零零") <> -1

laststr = laststr.Replace("零零", "零")

End While

While Right(laststr, 1) = "零"

laststr = Left(laststr, laststr.Length - 1)

End While

If isfs = True Then

laststr = "负" & laststr

End If

If jjj = "" Then

TD2.InnerHtml = laststr

Else

If laststr = "" Then

TD2.InnerHtml = "零点" & jjj

Else

TD2.InnerHtml = laststr & "点" & jjj

End If

End If

End Sub

Function convert(ByVal num As String)

Select Case num

Case "1"

convert = "壹"

Case "2"

convert = "贰"

Case "3"

convert = "叁"

Case "4"

convert = "肆"

Case "5"

convert = "伍"

Case "6"

convert = "陆"

Case "7"

convert = "柒"

Case "8"

convert = "捌"

Case "9"

convert = "玖"

Case "0"

convert = "零"

End Select

End Function

Function convert2(ByVal num As String)

Select Case num

Case "1"

convert2 = ""

Case "2"

convert2 = "拾"

Case "3"

convert2 = "佰"

Case "4"

convert2 = "仟"

Case "5"

convert2 = "万"

Case "6"

convert2 = "亿"

End Select

End Function

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有