金额转换算法 |
|
作者:未知 文章来源:网络文摘 更新时间:2006-5-6 12:47:37 |
【声明:转载此信息在于传递更多信息,其内容表达的观点并不代表本站立场,由这些信息所产生的一切后果本站不负任何责任。如果您对本信息有什么意见,欢迎和本站联系,谢谢!】http://CiDu.Net
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
声明:以上信息资料大都是网上搜集而来,版权归作者,如有版权问题请留言告知我将马上改正。 文中所提到的各种观点只是原文观点,各种说法未经一一确认。并不代表本站认可此观点!!
|
资讯录入:admin 责任编辑:admin |
|
上一篇资讯: 动态网站首页的静态生成方法
下一篇资讯: 纯ASP结合VML生成完美图-柱图 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |