Try this Code ,its Tested in Many Appications i made
, its up to 100 Milliar
Option Strict Off<br />
Option Explicit On <br />
Imports VB = Microsoft.VisualBasic<br />
Public Class ConvertNo2Text<br />
Private firstarry(2, 9) As Object<br />
Private firstar1(2, 2) As Object<br />
Private secondarry(2, 9) As Object<br />
Private thirdarry(9) As Object<br />
Private num_type As Short<br />
<br />
Sub New(ByVal isArabic As Boolean)<br />
Dim ArabicNumber As Object<br />
Dim txt As Object<br />
num_type = 1<br />
txt = ""<br />
ArabicNumber = ""<br />
If isArabic Then<br />
NewArabic()<br />
Else<br />
NewEnglish()<br />
End If<br />
<br />
<br />
End Sub<br />
<br />
Private Sub NewArabic()<br />
firstarry(1, 1) = "واحد "<br />
firstarry(1, 2) = "اثنان "<br />
firstarry(1, 3) = "ثلاثة "<br />
firstarry(1, 4) = "أربعة "<br />
firstarry(1, 5) = "خمسة "<br />
firstarry(1, 6) = "ستة "<br />
firstarry(1, 7) = "سبعة "<br />
firstarry(1, 8) = "ثمانية "<br />
firstarry(1, 9) = "تسعة "<br />
<br />
firstarry(2, 1) = "واحدة"<br />
firstarry(2, 2) = "اثنتان"<br />
firstarry(2, 3) = "ثلاث"<br />
firstarry(2, 4) = "أربع"<br />
firstarry(2, 5) = "خمس"<br />
firstarry(2, 6) = "ست"<br />
firstarry(2, 7) = "سبع"<br />
firstarry(2, 8) = "ثمان"<br />
firstarry(2, 9) = "تسع"<br />
firstar1(1, 1) = "أحد "<br />
firstar1(1, 2) = "اثنا "<br />
firstar1(2, 1) = "إحدى "<br />
firstar1(2, 2) = "إثنتا "<br />
<br />
secondarry(1, 1) = "عشرة"<br />
secondarry(1, 2) = "عشرون"<br />
secondarry(1, 3) = "ثلاثون"<br />
secondarry(1, 4) = "أربعون"<br />
secondarry(1, 5) = "خمسون"<br />
secondarry(1, 6) = "ستون"<br />
secondarry(1, 7) = "سبعون"<br />
secondarry(1, 8) = "ثمانون"<br />
secondarry(1, 9) = "تسعون"<br />
<br />
secondarry(2, 1) = "عشر"<br />
secondarry(2, 2) = "عشرون"<br />
secondarry(2, 3) = "ثلاثون"<br />
secondarry(2, 4) = "أربعون"<br />
secondarry(2, 5) = "خمسون"<br />
secondarry(2, 6) = "ستون"<br />
secondarry(2, 7) = "سبعون"<br />
secondarry(2, 8) = "ثمانون"<br />
secondarry(2, 9) = "تسعون"<br />
<br />
thirdarry(1) = "مائة "<br />
thirdarry(2) = "مائتان "<br />
thirdarry(3) = "ثلاثمائة "<br />
thirdarry(4) = "أربعمائة "<br />
thirdarry(5) = "خمسمائة "<br />
thirdarry(6) = "ستمائة "<br />
thirdarry(7) = "سبعمائة "<br />
thirdarry(8) = "ثمانمائة "<br />
thirdarry(9) = "تسعمائة "<br />
End Sub<br />
<br />
Private Sub NewEnglish()<br />
firstarry(1, 1) = "One "<br />
firstarry(1, 2) = "Two "<br />
firstarry(1, 3) = "Three "<br />
firstarry(1, 4) = "Four "<br />
firstarry(1, 5) = "Five "<br />
firstarry(1, 6) = "Six "<br />
firstarry(1, 7) = "Seven "<br />
firstarry(1, 8) = "Eight "<br />
firstarry(1, 9) = "Nine "<br />
<br />
firstarry(2, 1) = "one"<br />
firstarry(2, 2) = "two"<br />
firstarry(2, 3) = "three"<br />
firstarry(2, 4) = "four"<br />
firstarry(2, 5) = "five"<br />
firstarry(2, 6) = "six"<br />
firstarry(2, 7) = "seven"<br />
firstarry(2, 8) = "eight"<br />
firstarry(2, 9) = "nine"<br />
firstar1(1, 1) = "one "<br />
firstar1(1, 2) = "two "<br />
firstar1(2, 1) = "one "<br />
firstar1(2, 2) = "two "<br />
<br />
secondarry(1, 1) = "Ten"<br />
secondarry(1, 2) = "Twenty"<br />
secondarry(1, 3) = "Thirty"<br />
secondarry(1, 4) = "Forty"<br />
secondarry(1, 5) = "Fifty"<br />
secondarry(1, 6) = "Sixty"<br />
secondarry(1, 7) = "Seventy"<br />
secondarry(1, 8) = "Eighty"<br />
secondarry(1, 9) = "Ninety"<br />
<br />
secondarry(2, 1) = "Ten"<br />
secondarry(2, 2) = "Twenty"<br />
secondarry(2, 3) = "Thirty"<br />
secondarry(2, 4) = "Forty"<br />
secondarry(2, 5) = "Fifty"<br />
secondarry(2, 6) = "Sixty"<br />
secondarry(2, 7) = "Seventy"<br />
secondarry(2, 8) = "Eighty"<br />
secondarry(2, 9) = "Ninety"<br />
<br />
thirdarry(1) = "One Hundred "<br />
thirdarry(2) = "Tow Hundred "<br />
thirdarry(3) = "Three Hundred "<br />
thirdarry(4) = "Four Hundred "<br />
thirdarry(5) = "Five Hundred "<br />
thirdarry(6) = "Six Hundred "<br />
thirdarry(7) = "Seven Hundred "<br />
thirdarry(8) = "Eight Hundred "<br />
thirdarry(9) = "Nine Hundred "<br />
End Sub<br />
<br />
Private Function get_number(ByRef ns As Object, ByRef num_type As Object, ByRef power As Object) As Object<br />
Dim getno As Object<br />
Dim tms As Object<br />
Dim i As Object<br />
Dim x As Object<br />
Dim inv_type As Object<br />
Dim lngth As Object<br />
lngth = 0<br />
inv_type = 2<br />
Dim indx(3) As Object<br />
Dim tmparray(3) As Object<br />
For x = 1 To 3<br />
indx(i) = 0<br />
tmparray(i) = ""<br />
Next x<br />
tms = ""<br />
getno = ""<br />
lngth = Len(ns)<br />
indx(1) = Val(Mid(ns, lngth, 1))<br />
If indx(1) > 0 Then<br />
tmparray(1) = firstarry(num_type, indx(1))<br />
End If<br />
lngth = lngth - 1<br />
If lngth > 0 Then<br />
indx(2) = Val(Mid(ns, lngth, 1))<br />
If tmparray(1) > "" Then<br />
If indx(2) > 0 Then<br />
tmparray(2) = secondarry(inv_type, indx(2))<br />
End If<br />
Else<br />
If indx(2) > 0 Then<br />
tmparray(2) = secondarry(num_type, indx(2))<br />
End If<br />
End If<br />
<br />
If indx(2) > 1 Then<br />
tmparray(1) = tmparray(1) & "و"<br />
ElseIf indx(1) = 1 And indx(2) = 1 Then<br />
tmparray(1) = firstar1(num_type, 1)<br />
ElseIf indx(1) = 2 And indx(2) = 1 Then<br />
tmparray(1) = firstar1(num_type, 2)<br />
End If<br />
<br />
lngth = lngth - 1<br />
<br />
If lngth > 0 Then<br />
indx(3) = Val(Mid(ns, lngth, 1))<br />
If indx(3) > 0 Then<br />
tmparray(3) = thirdarry(indx(3))<br />
End If<br />
If (indx(3) > 0 And tmparray(1) > "") Or tmparray(2) > "" Then<br />
tmparray(3) = tmparray(3) & "و"<br />
End If<br />
End If<br />
End If<br />
<br />
Select Case power<br />
Case 0<br />
tms = tmparray(3) & tmparray(1) & tmparray(2)<br />
If tmparray(1) = "واحد " And tmparray(2) = "" And tmparray(3) = "" Then<br />
getno = "فلس واحد"<br />
ElseIf tmparray(1) = "واحد " And tmparray(2) = "" And tmparray(3) > "" Then<br />
getno = tmparray(3) & "فلس واحد"<br />
ElseIf tmparray(1) = "اثنان " And tmparray(2) = "" And tmparray(3) = "" Then<br />
getno = "فلسان"<br />
ElseIf tmparray(1) = "اثنان " And tmparray(2) = "" And tmparray(3) > "" Then<br />
getno = tmparray(3) & "فلسان"<br />
ElseIf tmparray(1) > "" And tmparray(2) = "" And tmparray(3) = "" Then<br />
getno = tms & " فلسات"<br />
Else<br />
getno = tms & " فلس"<br />
End If<br />
Case 1<br />
getno = tmparray(3) & tmparray(1) & tmparray(2)<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " دينار واحد"<br />
ElseIf indx(1) = 1 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & " دينار واحد"<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " ديناران"<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & " ديناران"<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = getno & " دنانير"<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = getno & " دنانير"<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = getno & " دنانير"<br />
Else<br />
getno = getno & " دينار"<br />
End If<br />
<br />
Case 2<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " ألف "<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " ألفان "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(1) & " آلاف "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " آلاف "<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " آلاف "<br />
ElseIf indx(1) = 0 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2)<br />
Else<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " ألف "<br />
End If<br />
Case 3<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " مليون "<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " مليونان "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(1) & " ملايين "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " ملايين "<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " ملايين "<br />
ElseIf indx(1) = 0 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2)<br />
Else<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " مليون "<br />
End If<br />
Case 4<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " مليار "<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " ملياران "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(1) & " مليارات "<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " مليارات "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " مليارات "<br />
Else<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " مليار "<br />
End If<br />
End Select<br />
get_number = getno<br />
End Function<br />
<br />
Public Function GetText(ByVal TextNO As String, ByVal strONE As String, ByVal strTwo As String) As String<br />
<br />
Dim txt As Object<br />
Dim i As Object<br />
Dim templength As Object<br />
Dim afterpoint As Object<br />
Dim pos As Object<br />
Dim length As Object<br />
Dim nostring As Object<br />
If Val(TextNO) = 0 Then<br />
Return "صفر"<br />
' Exit Function<br />
End If<br />
nostring = Trim(TextNO)<br />
length = Len(nostring)<br />
pos = InStr(nostring, ".")<br />
afterpoint = ""<br />
If pos > 0 Then<br />
afterpoint = VB.Right(nostring, length - pos)<br />
nostring = VB.Left(nostring, pos - 1)<br />
length = Len(nostring)<br />
Else<br />
pos = InStr(nostring, ",")<br />
End If<br />
templength = length<br />
Dim parts(4) As Object<br />
'parts = ""<br />
Dim partstr(10) As Object<br />
parts(1) = nostring<br />
i = 0<br />
Do While templength >= 3<br />
templength = templength - 3<br />
i = i + 1<br />
parts(i) = VB.Right(nostring, 3)<br />
nostring = VB.Left(nostring, templength)<br />
Loop<br />
parts(i + 1) = nostring<br />
For i = 1 To 4<br />
If parts(i) > "" Then<br />
partstr(i) = get_number(parts(i), num_type, i)<br />
Else<br />
Exit For<br />
End If<br />
Next i<br />
For i = 4 To 1 Step -1<br />
If partstr(i) > "" Then<br />
If i > 1 Then<br />
If partstr(i - 1) = "واحد" Then<br />
partstr(i - 1) = "و" & partstr(i - 1)<br />
End If<br />
If partstr(i - 1) > "" And partstr(i - 1) <> " دينار" And Mid(partstr(i - 1), 1, 1) <> "و" Then<br />
txt = txt & " " & partstr(i) & "و"<br />
Else<br />
txt = txt & " " & partstr(i) & " "<br />
End If<br />
Else<br />
If (partstr(i + 1) = "" Or partstr(i + 2) = "") And txt > "" And (partstr(i) = " دينار واحد" Or partstr(i) = " ديناران") Then<br />
txt = txt & "و" & partstr(i)<br />
ElseIf (partstr(i + 1) = "" Or partstr(i + 2) = "") And txt > "" And partstr(i) <> " دينار" Then<br />
txt = txt & "و" & partstr(i)<br />
Else<br />
txt = txt & " " & partstr(i) & " "<br />
End If<br />
End If<br />
End If<br />
Next i<br />
If Val(afterpoint) > 0 Then<br />
txt = txt & " و" & get_number(afterpoint, num_type, 0)<br />
End If<br />
txt = Replace(txt, "و ", "و")<br />
txt = Replace(txt, "و و", "و ")<br />
txt = Replace(txt, "وو", "و")<br />
If InStr(txt, "واحد") > 0 And VB.Right(Trim(txt), 4) <> "واحد" Then<br />
txt = Replace(txt, "واحد", "وواحد")<br />
End If<br />
txt = Replace(txt, " ", " ")<br />
txt = Replace(txt, " ", " ")<br />
txt = Trim(txt)<br />
If VB.Right(TextNO, 1) = "0" And InStr(nostring, ".") = 0 And InStr(txt, "ودينار") > 0 Then<br />
txt = Replace(txt, "ودينار", "دينار")<br />
End If<br />
If VB.Right(TextNO, 1) = "0" And InStr(nostring, ".") = 0 And InStr(txt, "و دينار") > 0 Then<br />
txt = Replace(txt, "و دينار", "دينار")<br />
End If<br />
txt = Replace(txt, "دينار", strONE)<br />
<br />
txt = Replace(txt, "دنانير", strTwo)<br />
<br />
<br />
If Mid(txt, 1, 1) = "و" Then<br />
Return Mid(txt, 2)<br />
Else<br />
Return Trim(txt)<br />
End If<br />
<br />
End Function<br />
<br />
Private Function get_numberEnglish(ByRef ns As Object, ByRef num_type As Object, ByRef power As Object) As Object<br />
Dim getno As Object<br />
Dim tms As Object<br />
Dim i As Object<br />
Dim x As Object<br />
Dim inv_type As Object<br />
Dim lngth As Object<br />
lngth = 0<br />
inv_type = 2<br />
Dim indx(3) As Object<br />
Dim tmparray(3) As Object<br />
For x = 1 To 3<br />
indx(i) = 0<br />
tmparray(i) = ""<br />
Next x<br />
tms = ""<br />
getno = ""<br />
lngth = Len(ns)<br />
indx(1) = Val(Mid(ns, lngth, 1))<br />
If indx(1) > 0 Then<br />
tmparray(1) = firstarry(num_type, indx(1))<br />
End If<br />
lngth = lngth - 1<br />
If lngth > 0 Then<br />
indx(2) = Val(Mid(ns, lngth, 1))<br />
If tmparray(1) > "" Then<br />
If indx(2) > 0 Then<br />
tmparray(2) = secondarry(inv_type, indx(2))<br />
End If<br />
Else<br />
If indx(2) > 0 Then<br />
tmparray(2) = secondarry(num_type, indx(2))<br />
End If<br />
End If<br />
<br />
If indx(2) > 1 Then<br />
tmparray(1) = tmparray(1) & "And"<br />
ElseIf indx(1) = 1 And indx(2) = 1 Then<br />
tmparray(1) = firstar1(num_type, 1)<br />
ElseIf indx(1) = 2 And indx(2) = 1 Then<br />
tmparray(1) = firstar1(num_type, 2)<br />
End If<br />
<br />
lngth = lngth - 1<br />
<br />
If lngth > 0 Then<br />
indx(3) = Val(Mid(ns, lngth, 1))<br />
If indx(3) > 0 Then<br />
tmparray(3) = thirdarry(indx(3))<br />
End If<br />
If (indx(3) > 0 And tmparray(1) > "") Or tmparray(2) > "" Then<br />
tmparray(3) = tmparray(3) & "And"<br />
End If<br />
End If<br />
End If<br />
<br />
Select Case power<br />
Case 0<br />
tms = tmparray(3) & tmparray(1) & tmparray(2)<br />
If tmparray(1) = "One " And tmparray(2) = "" And tmparray(3) = "" Then<br />
getno = "One Pence"<br />
ElseIf tmparray(1) = "One " And tmparray(2) = "" And tmparray(3) > "" Then<br />
getno = tmparray(3) & "One Pence"<br />
ElseIf tmparray(1) = "Toe " And tmparray(2) = "" And tmparray(3) = "" Then<br />
getno = "Two Pence"<br />
ElseIf tmparray(1) = "Two " And tmparray(2) = "" And tmparray(3) > "" Then<br />
getno = tmparray(3) & "Tow Pence"<br />
ElseIf tmparray(1) > "" And tmparray(2) = "" And tmparray(3) = "" Then<br />
getno = tms & " Pences"<br />
Else<br />
getno = tms & " Pence"<br />
End If<br />
Case 1<br />
getno = tmparray(3) & tmparray(1) & tmparray(2)<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " One JD"<br />
ElseIf indx(1) = 1 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & " One JD"<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " Two JD"<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & " Two JD"<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = getno & " JD"<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = getno & " JD"<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = getno & " JD"<br />
Else<br />
getno = getno & " JD"<br />
End If<br />
<br />
Case 2<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " Thousand "<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " Two Thousand "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(1) & " Thousands "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Thousands "<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Thousands "<br />
ElseIf indx(1) = 0 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2)<br />
Else<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Thousand "<br />
End If<br />
Case 3<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " Million "<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " Two Million "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(1) & " ملايين "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Millions "<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Millions "<br />
ElseIf indx(1) = 0 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2)<br />
Else<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Million "<br />
End If<br />
Case 4<br />
If indx(1) = 1 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " Millard "<br />
ElseIf indx(1) = 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = " Two Millard "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) = 0 Then<br />
getno = tmparray(1) & " مليارات "<br />
ElseIf indx(1) = 0 And indx(2) = 1 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Millards "<br />
ElseIf indx(1) > 2 And indx(2) = 0 And indx(3) > 0 Then<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Millards "<br />
Else<br />
getno = tmparray(3) & tmparray(1) & tmparray(2) & " Millard "<br />
End If<br />
End Select<br />
get_numberEnglish = getno<br />
End Function<br />
<br />
Public Function GetTextEnglish(ByVal TextNO As String, ByVal strONE As String, ByVal strTwo As String) As String<br />
<br />
Dim txt As Object<br />
Dim i As Object<br />
Dim templength As Object<br />
Dim afterpoint As Object<br />
Dim pos As Object<br />
Dim length As Object<br />
Dim nostring As Object<br />
If Val(TextNO) = 0 Then<br />
Return "Zero"<br />
' Exit Function<br />
End If<br />
nostring = Trim(TextNO)<br />
length = Len(nostring)<br />
pos = InStr(nostring, ".")<br />
afterpoint = ""<br />
If pos > 0 Then<br />
afterpoint = VB.Right(nostring, length - pos)<br />
nostring = VB.Left(nostring, pos - 1)<br />
length = Len(nostring)<br />
Else<br />
pos = InStr(nostring, ",")<br />
End If<br />
templength = length<br />
Dim parts(4) As Object<br />
'parts = ""<br />
Dim partstr(10) As Object<br />
parts(1) = nostring<br />
i = 0<br />
Do While templength >= 3<br />
templength = templength - 3<br />
i = i + 1<br />
parts(i) = VB.Right(nostring, 3)<br />
nostring = VB.Left(nostring, templength)<br />
Loop<br />
parts(i + 1) = nostring<br />
For i = 1 To 4<br />
If parts(i) > "" Then<br />
partstr(i) = get_numberEnglish(parts(i), num_type, i)<br />
Else<br />
Exit For<br />
End If<br />
Next i<br />
For i = 4 To 1 Step -1<br />
If partstr(i) > "" Then<br />
If i > 1 Then<br />
If partstr(i - 1) = "One" Then<br />
partstr(i - 1) = "And" & partstr(i - 1)<br />
End If<br />
If partstr(i - 1) > "" And partstr(i - 1) <> " JD" And Mid(partstr(i - 1), 1, 1) <> "And" Then<br />
txt = txt & " " & partstr(i) & "And"<br />
Else<br />
txt = txt & " " & partstr(i) & " "<br />
End If<br />
Else<br />
If (partstr(i + 1) = "" Or partstr(i + 2) = "") And txt > "" And (partstr(i) = " One JD" Or partstr(i) = " Two JD") Then<br />
txt = txt & "And" & partstr(i)<br />
ElseIf (partstr(i + 1) = "" Or partstr(i + 2) = "") And txt > "" And partstr(i) <> " JD" Then<br />
txt = txt & "And" & partstr(i)<br />
Else<br />
txt = txt & " " & partstr(i) & " "<br />
End If<br />
End If<br />
End If<br />
Next i<br />
If Val(afterpoint) > 0 Then<br />
txt = txt & " And" & get_numberEnglish(afterpoint, num_type, 0)<br />
End If<br />
txt = Replace(txt, "And ", "And")<br />
txt = Replace(txt, "And And", "And ")<br />
txt = Replace(txt, "AndAnd", "And")<br />
If InStr(txt, "One") > 0 And VB.Right(Trim(txt), 4) <> "One" Then<br />
txt = Replace(txt, "One", "And One")<br />
End If<br />
txt = Replace(txt, " ", " ")<br />
txt = Replace(txt, " ", " ")<br />
txt = Trim(txt)<br />
If VB.Right(TextNO, 1) = "0" And InStr(nostring, ".") = 0 And InStr(txt, "And JD") > 0 Then<br />
txt = Replace(txt, "And JD", "JD")<br />
End If<br />
If VB.Right(TextNO, 1) = "0" And InStr(nostring, ".") = 0 And InStr(txt, "And JD") > 0 Then<br />
txt = Replace(txt, "JD", "JD")<br />
End If<br />
txt = Replace(txt, "JD", strONE)<br />
<br />
txt = Replace(txt, "JD", strTwo)<br />
<br />
<br />
If Mid(txt, 1, 1) = "And" Then<br />
Return Mid(txt, 2)<br />
Else<br />
Return Trim(txt)<br />
End If<br />
<br />
End Function<br />
<br />
End Class
Mohamad A. Flefel
mflefel@hotmail.com
+962 79 5963865
C#.net & VB.net Developer
|