在vb.net中以文字显示金额
我的表中有一个名为在vb.net中以文字显示金额,vb.net,numbers,Vb.net,Numbers,我的表中有一个名为feeamunit的列 例如,在我的网页中,我需要用文字显示数量 Value in Column = 20000 In Web Page - Twenty Thousand Only 有谁能帮我做这件事吗?试试这个 Function NumberToText(ByVal n As Integer) As String Select Case n Case 0 Return "" Case 1 To 19 Dim arr() As String = {"On
feeamunit
的列
例如,在我的网页中,我需要用文字显示数量
Value in Column = 20000
In Web Page - Twenty Thousand Only
有谁能帮我做这件事吗?试试这个
Function NumberToText(ByVal n As Integer) As String
Select Case n
Case 0
Return ""
Case 1 To 19
Dim arr() As String = {"One","Two","Three","Four","Five","Six","Seven", _
"Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen", _
"Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"}
Return arr(n-1) & " "
Case 20 to 99
Dim arr() as String = {"Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"}
Return arr(n\10 -2) & " " & NumberToText(n Mod 10)
Case 100 to 199
Return "One Hundred " & NumberToText(n Mod 100)
Case 200 to 999
Return NumberToText(n\100) & "Hundreds " & NumberToText(n mod 100)
Case 1000 to 1999
Return "One Thousand " & NumberToText(n Mod 1000)
Case 2000 to 999999
Return NumberToText(n\1000) & "Thousands " & NumberToText(n Mod 1000)
Case 1000000 to 1999999
Return "One Million " & NumberToText(n Mod 1000000)
Case 1000000 to 999999999
Return NumberToText(n\1000000) & "Millions " & NumberToText(n Mod 1000000)
Case 1000000000 to 1999999999
Return "One Billion " & NumberTotext(n Mod 1000000000)
Case Else
Return NumberToText(n\1000000000) & "Billion " _
& NumberToText(n mod 1000000000)
End Select
End Function
在上面创建此函数,然后调用它:
lbl_amtword.Text = func.test(final_salary) & "Only"
函数readsingle(ByVal m作为字节)作为字符串
Dim st As String=“”
选择案例m
案例1:st=“一”:案例2:st=“二”
案例3:st=“三”:案例4:st=“四”
案例5:st=“五”:案例6:st=“六”
案例7:st=“七”:案例8:st=“八”
案例9:st=“九”:案例10:st=“十”
案例11:st=“十一”:案例12:st=“十二”
案例13:st=“十三”:案例14:st=“十四”
案例15:st=“十五”:案例16:st=“十六”
案例17:st=“十七”:案例18:st=“十八”
案例19:st=“十九”:案例20:st=“二十”
结束选择
readsingle=st
端函数
函数readtenths(ByVal m作为字节)作为字符串
双倍
n=m\10
Dim st As String=“”
选择案例n
案例2:st=“二十”:案例3:st=“三十”
案例4:st=“四十”:案例5:st=“五十”
案例6:st=“六十”:案例7:st=“七十”
案例8:st=“八十”:案例9:st=“九十”
结束选择
十分之一=st
端函数
函数readcombined(ByVal m作为字节)作为字符串
Dim st As String=“”
双倍
如果m<21,则
st=readsingle(m)
ElseIf m<100那么
st=十分之一读数(m)
n=m模(10)
st=st&readsingle((n))
如果结束
readcombined=st
端函数
函数num2str(ByVal m作为Double)作为字符串
'如果m>99999999.0#则退出函数
双倍
n=固定值(m/100000000)
Dim st As String=“”
如果m=0或m<0,则
st=“Z E R O”
num2str=st
退出功能
如果结束
如果n>0,则
st=st&readcombined((n))和“阿拉伯”
如果结束
m=m-n*100000000
n=m\10000000
如果n>0,则
st=st&readcombined((n))和“Crore”
如果结束
n=m模(10000000)
n=n\100000
如果n>0,则
st=st&readcombined((n))和“lac”
如果结束
n=m模(100000)
n=n\1000
如果n>0,则
st=st&READCONNECTED((n))和“千”
如果结束
n=m模(1000)
n=n\100
如果n>0,则
st=st&readsingle((n))和“百”
如果结束
n=m模(100)
st=st&&&readcombined(n))
num2str=st
端函数
公共类表格1
私有子标签2\u单击(发送者作为对象,e作为事件参数)处理标签2。单击
暗淡的
端接头
函数号(x为字符串)为字符串
如果(x=0),则
返回“”
ElseIf(x=1)那么
返回“一”
ElseIf(x=2)那么
返回“2”
ElseIf(x=3)那么
返回“三”
ElseIf(x=4)那么
返回“四”
ElseIf(x=5)那么
返回“五”
ElseIf(x=6)那么
返回“六”
ElseIf(x=7)那么
返回“七”
ElseIf(x=8)那么
返回“八”
ElseIf(x=9)那么
返回“不”
ElseIf(x=10)那么
返回“十”
ElseIf(x=11)那么
返回“十一”
ElseIf(x=12)那么
返回“十二”
ElseIf(x=13)那么
返回“十三”
ElseIf(x=14)那么
返回“Forteen”
ElseIf(x=15)那么
返回“Fiveteen”
ElseIf(x=16)那么
返回“十六”
ElseIf(x=17)那么
返回“十七”
ElseIf(x=18)那么
返回“八点”
ElseIf(x=19)那么
返回“Ninten”
如果结束
端函数
函数十(y为整数)为字符串
如果(很好,这是我想要的方式。非常感谢:)Welcome@AishvaryaKarthikAmit你能告诉我如何将文本显示为“贰万整”吗?您希望最后添加仅
?有两种方法1是存储在变量中,最后在每个返回中添加仅
2添加仅
,考虑添加一些说明,说明如何帮助解决问题(代码解释)。If else语句可以转换为select case。
lbl_amtword.Text = func.test(final_salary) & "Only"
Function readsingle(ByVal m As Byte) As String
Dim st As String = ""
Select Case m
Case 1 : st = "One" : Case 2 : st = "Two"
Case 3 : st = "Three" : Case 4 : st = "Four"
Case 5 : st = "Five" : Case 6 : st = "Six"
Case 7 : st = "Seven" : Case 8 : st = "Eight"
Case 9 : st = "Nine" : Case 10 : st = "Ten"
Case 11 : st = "Eleven" : Case 12 : st = "Twelve"
Case 13 : st = "Thirteen" : Case 14 : st = "Fourteen"
Case 15 : st = "Fifteen" : Case 16 : st = "Sixteen"
Case 17 : st = "Seventeen" : Case 18 : st = "Eighteen"
Case 19 : st = "Nineteen" : Case 20 : st = "Twenty"
End Select
readsingle = st
End Function
Function readtenths(ByVal m As Byte) As String
Dim n As Double
n = m \ 10
Dim st As String = ""
Select Case n
Case 2 : st = "Twenty " : Case 3 : st = "Thirty "
Case 4 : st = "Forty " : Case 5 : st = "Fifty "
Case 6 : st = "Sixty " : Case 7 : st = "Seventy "
Case 8 : st = "Eighty " : Case 9 : st = "Ninety "
End Select
readtenths = st
End Function
Function readcombined(ByVal m As Byte) As String
Dim st As String = ""
Dim n As Double
If m < 21 Then
st = readsingle(m)
ElseIf m < 100 Then
st = readtenths(m)
n = m Mod (10)
st = st & readsingle((n))
End If
readcombined = st
End Function
Function num2str(ByVal m As Double) As String
'If m > 99999999999.0# Then Exit Function
Dim n As Double
n = Fix(m / 1000000000)
Dim st As String = ""
If m = 0 Or m < 0 Then
st = " Z E R O"
num2str = st
Exit Function
End If
If n > 0 Then
st = st & readcombined((n)) & " Arab "
End If
m = m - n * 1000000000
n = m \ 10000000
If n > 0 Then
st = st & readcombined((n)) & " Crore "
End If
n = m Mod (10000000)
n = n \ 100000
If n > 0 Then
st = st & readcombined((n)) & " lac "
End If
n = m Mod (100000)
n = n \ 1000
If n > 0 Then
st = st & readcombined((n)) & " Thousand "
End If
n = m Mod (1000)
n = n \ 100
If n > 0 Then
st = st & readsingle((n)) & " Hundred "
End If
n = m Mod (100)
st = st & " " & readcombined((n))
num2str = st
End Function
Public Class Form1
Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
Dim y
End Sub
Function no(x As String) As String
If (x = 0) Then
Return ""
ElseIf (x = 1) Then
Return " One "
ElseIf (x = 2) Then
Return " Two "
ElseIf (x = 3) Then
Return " Three "
ElseIf (x = 4) Then
Return " Four "
ElseIf (x = 5) Then
Return " Five "
ElseIf (x = 6) Then
Return " Six "
ElseIf (x = 7) Then
Return " Seven "
ElseIf (x = 8) Then
Return " Eight "
ElseIf (x = 9) Then
Return " Nein "
ElseIf (x = 10) Then
Return " Ten "
ElseIf (x = 11) Then
Return " Eleven "
ElseIf (x = 12) Then
Return " Twelve "
ElseIf (x = 13) Then
Return " Thirteen "
ElseIf (x = 14) Then
Return " Forteen "
ElseIf (x = 15) Then
Return " Fiveteen "
ElseIf (x = 16) Then
Return " Sixteen "
ElseIf (x = 17) Then
Return " Seventeen "
ElseIf (x = 18) Then
Return " Eightteen "
ElseIf (x = 19) Then
Return " Ninteen "
End If
End Function
Function ten(y As Integer) As String
If (y <= 19) Then
Dim x = y
Dim s = no(x.ToString)
Return (s)
ElseIf (y <= 29) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Twenty" + s)
ElseIf (y <= 39) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Thirty" + s)
ElseIf (y <= 49) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Fourty" + s)
ElseIf (y <= 59) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Fivfty" + s)
ElseIf (y <= 69) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Sixty" + s)
ElseIf (y <= 79) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Seventy" + s)
ElseIf (y <= 89) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Eighty" + s)
ElseIf (y <= 99) Then
Dim arr As Array = y.ToString.ToArray
Dim z = arr(0)
Dim x = arr(1)
Dim s = no(x.ToString)
Return (" Ninty" + s)
End If
End Function
Function zero(z As Integer) As String
If (z > 0) Then
Dim arr As Array = TextBox1.Text.ToArray
Dim a = arr(0)
If (a = 0) Then
TextBox2.Text = "invalid no."
End If
End If
End Function
Function fir(z As Integer) As String
If (z >= 1 & z <= 19) Then
Dim x = z
Dim s = ten(x.ToString)
TextBox2.Text = (s)
End If
End Function
Function two(z As Integer) As String
If (z >= 1 & z <= 99) Then
Dim y = z
Dim t = ten(y.ToString)
TextBox2.Text = (t)
End If
End Function
Function hun(z As Integer) As String
Dim arr As Array = TextBox1.Text.ToArray
Dim w = arr(0)
If (z >= 100 & z <= 999) Then
Dim l = arr(1)
Dim o = arr(2)
Dim y = (l + o)
Dim x = arr(0)
Dim s = no(x.ToString)
If (y <= 99) Then
Dim i = ten(y.ToString)
TextBox2.Text = (s + " Hundred " + i)
End If
End If
End Function
Function thousen(z As Integer) As String
If (z >= 1000 & z <= 9999) Then
Dim arr As Array = TextBox1.Text.ToArray
Dim x = arr(0)
Dim k = arr(1)
Dim l = arr(2)
Dim o = arr(3)
Dim y = (l + o)
Dim s = no(x.ToString)
Dim u = no(k.ToString)
If (y <= 99) Then
Dim i = ten(y.ToString)
TextBox2.Text = (s + " Thousen " + u + " Hundred " + i)
End If
End If
End Function
Function tenthou(z As Integer) As String
Dim arr As Array = TextBox1.Text.ToArray
If (z >= 10000 & z <= 99999) Then
Dim w = arr(0)
Dim v = arr(1)
Dim e = (w + v)
Dim x = arr(2)
Dim q = arr(3)
Dim k = arr(4)
Dim f = (q + k)
Dim y = (e) & (f)
Dim t = ten(e)
Dim t2 = ten(f)
Dim s = no(x.ToString)
TextBox2.Text = (t + "thousen" + s + "hundred" + t2)
End If
End Function
Function onelaks(z As Integer) As String
Dim arr As Array = TextBox1.Text.ToArray
If (z >= 100000 & z <= 999999) Then
Dim a = arr(0)
Dim b = arr(1)
Dim c = arr(2)
Dim d = arr(3)
Dim e = arr(4)
Dim f = arr(5)
Dim s = no(a.ToString)
Dim t = (b) & (c)
Dim u = no(d.ToString)
Dim v = (e) & (f)
Dim t1 = ten(t)
Dim v1 = ten(v)
TextBox2.Text = (s + "laks" + t1 + "thousend" + u + "hundread" + v1)
End If
End Function
Function tenlaks(z As Integer) As String
Dim arr As Array = TextBox1.Text.ToArray
If (z >= 1000000 & z <= 9999999) Then
Dim a = arr(0)
Dim b = arr(1)
Dim c = arr(2)
Dim d = arr(3)
Dim e = arr(4)
Dim f = arr(5)
Dim g = arr(6)
Dim s = (a) & (b)
Dim t = (c) & (d)
Dim u = no(e.ToString)
Dim v = (f) & (g)
Dim s1 = ten(s)
Dim t1 = ten(t)
Dim v1 = ten(v)
TextBox2.Text = (s1 + "laks" + t1 + "thousend" + u + "hundread" + v1)
End If
End Function
Function onecrore(z As Integer) As String
Dim arr As Array = TextBox1.Text.ToArray
If (z >= 10000000 & z <= 99999999) Then
Dim a = arr(0)
Dim b = arr(1)
Dim c = arr(2)
Dim d = arr(3)
Dim e = arr(4)
Dim f = arr(5)
Dim g = arr(6)
Dim h = arr(7)
Dim s = no(a.ToString)
Dim t = (b) & (c)
Dim u = (d) & (e)
Dim v = no(f.ToString)
Dim w = (g) & (h)
Dim t1 = ten(t)
Dim u1 = ten(u)
Dim w1 = ten(w)
TextBox2.Text = (s + "crore" + t1 + "laks" + u1 + "thousend" + v + "hundread" + w1)
End If
End Function
Function tencrore(z As Integer) As String
Dim arr As Array = TextBox1.Text.ToArray
If (z >= 100000000 & z <= 999999999) Then
Dim a = arr(0)
Dim b = arr(1)
Dim c = arr(2)
Dim d = arr(3)
Dim e = arr(4)
Dim f = arr(5)
Dim g = arr(6)
Dim h = arr(7)
Dim i = arr(8)
Dim s = (a) & (b)
Dim t = (c) & (d)
Dim u = (e) & (f)
Dim v = no(g.ToString)
Dim w = (h) & (i)
Dim s1 = ten(s)
Dim t1 = ten(t)
Dim u1 = ten(u)
Dim w1 = ten(w)
TextBox2.Text = (s1 + "crore" + t1 + "laks" + u1 + "thousend" + v + "hundread" + w1)
End If
End Function
Function main(z As Integer) As String
If (z >= 0) Then
Dim e = zero(z)
ElseIf (z >= 1 & z <= 19) Then
Dim a = fir(z)
ElseIf (z <= 99) Then
Dim b = two(z)
ElseIf (z <= 999) Then
Dim c = hun(z)
ElseIf (z <= 9999) Then
Dim d = thousen(z)
ElseIf (z <= 99999) Then
Dim d = tenthou(z)
ElseIf (z <= 999999) Then
Dim d = onelaks(z)
ElseIf (z <= 9999999) Then
Dim d = tenlaks(z)
ElseIf (z <= 99999999) Then
Dim d = onecrore(z)
ElseIf (z <= 999999999) Then
Dim d = tencrore(z)
End If
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim z = TextBox1.Text
Dim g = main(z)
End Sub
End Class