Click here to Skip to main content
15,899,679 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
Please Convert The following Code in C# Which is Written in VB.

Here--

Public Class NumeriCon

    Public Shared Function ConvertNum(ByVal Input As Long) As String 'Call this function passing the number you desire to be changed
        Dim output As String = Nothing
        If Input < 1000 Then
            output = FindNumber(Input) 'if its less than 1000 then just look it up
        Else
            Dim nparts() As String 'used to break the number up into 3 digit parts
            Dim n As String = Input 'string version of the number
            Dim i As Long = Input.ToString.Length 'length of the string to help break it up

            Do Until i - 3 <= 0
                n = n.Insert(i - 3, ",") 'insert commas to use as splitters
                i = i - 3 'this insures that we get the correct number of parts
            Loop
            nparts = n.Split(",") 'split the string into the array

            i = Input.ToString.Length 'return i to initial value for reuse
            Dim p As Integer = 0 'p for parts, used for finding correct suffix
            For Each s As String In nparts
                Dim x As Long = CLng(s) 'x is used to compare the part value to other values
                p = p + 1
                If p = nparts.Length Then 'if p = number of elements in the array then we need to do something different
                    If x <> 0 Then
                        If CLng(s) < 100 Then
                            output = output & " And " & FindNumber(CLng(s)) ' look up the number, no suffix 
                        Else                                                ' required as this is the last part
                            output = output & " " & FindNumber(CLng(s))
                        End If
                    End If
                Else 'if its not the last element in the array
                    If x <> 0 Then
                        If output = Nothing Then 'we have to check this so we don't add a leading space
                            output = output & FindNumber(CLng(s)) & " " & FindSuffix(i, CLng(s)) 'look up the number and suffix
                        Else 'spaces must go in the right place
                            output = output & " " & FindNumber(CLng(s)) & " " & FindSuffix(i, CLng(s)) 'look up the snumber and suffix
                        End If
                    End If
                End If
                i = i - 3 'reduce the suffix counter by 3 to step down to the next suffix
            Next
        End If
        Return output
    End Function

    Private Shared Function FindNumber(ByVal Number As Long) As String
        Dim Words As String = Nothing
        Dim Digits() As String = {"Zero","One","Two","Three","Four","Five","Six","Seven", _
      "Eight","Nine","Ten"}
        Dim Teens() As String = {"", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", _
       "Eighteen", "Nineteen"}

        If Number < 11 Then
            Words = Digits(Number)

        ElseIf Number < 20 Then
            Words = Teens(Number - 10)

        ElseIf Number = 20 Then
            Words = "Twenty"

        ElseIf Number < 30 Then
            Words = "Twenty " & Digits(Number - 20)

        ElseIf Number = 30 Then
            Words = "Thirty"

        ElseIf Number < 40 Then
            Words = "Thirty " & Digits(Number - 30)

        ElseIf Number = 40 Then
            Words = "Fourty"

        ElseIf Number < 50 Then
            Words = "Fourty " & Digits(Number - 40)

        ElseIf Number = 50 Then
            Words = "Fifty"

        ElseIf Number < 60 Then
            Words = "Fifty " & Digits(Number - 50)

        ElseIf Number = 60 Then
            Words = "Sixty"

        ElseIf Number < 70 Then
            Words = "Sixty " & Digits(Number - 60)

        ElseIf Number = 70 Then
            Words = "Seventy"

        ElseIf Number < 80 Then
            Words = "Seventy " & Digits(Number - 70)

        ElseIf Number = 80 Then
            Words = "Eighty"

        ElseIf Number < 90 Then
            Words = "Eighty " & Digits(Number - 80)

        ElseIf Number = 90 Then
            Words = "Ninety"

        ElseIf Number < 100 Then
            Words = "Ninety " & Digits(Number - 90)

        ElseIf Number < 1000 Then
            Words = Number.ToString
            Words = Words.Insert(1, ",")
            Dim wparts As String() = Words.Split(",")
            Words = FindNumber(wparts(0)) & " " & "Hundred"
            Dim n As String = FindNumber(wparts(1))
            If CLng(wparts(1)) <> 0 Then
                Words = Words & " And " & n
            End If
        End If

        Return Words
    End Function

    Private Shared Function FindSuffix(ByVal Length As Long, ByVal l As Long) As String
        Dim word As String

        If l <> 0 Then
            If Length > 12 Then
                word = "Trillion"
            ElseIf Length > 9 Then
                word = "Billion"
            ElseIf Length > 6 Then
                word = "Million"
            ElseIf Length > 3 Then
                word = "Thousand"
            ElseIf Length > 2 Then
                word = "Hundred"
            Else
                word = ""
            End If
        Else
            word = ""
        End If

        Return word
    End Function

End Class
Posted
Updated 20-Jul-11 0:22am
v2

There are so many tools to convert vb to C#.
Please check this.

http://www.developerfusion.com/tools/convert/vb-to-csharp/[^]
 
Share this answer
 
Comments
Manas Bhardwaj 20-Jul-11 7:05am    
+5
Toniyo Jackson 20-Jul-11 7:12am    
Thanks MB :)
Wow, do you really think that people here are free enough to do you work? There are people who would be willing to do this for you, but they are usually found at www.rentacoder.com[^]

Anyways, if you would have googled it; there are many tools online which do it for you (FREE). This is one of them, (and quite nice)

http://www.developerfusion.com/tools/convert/vb-to-csharp/
 
Share this answer
 
Comments
DanHodgson88 20-Jul-11 6:56am    
my 5*
Manas Bhardwaj 20-Jul-11 7:05am    
thanks!
Toniyo Jackson 20-Jul-11 7:13am    
My 5 for you too
public class NumeriCon {

    public static string ConvertNum(long Input) {
        // Call this function passing the number you desire to be changed
        string output = null;
        if ((Input + lt)) {
            1000;
            output = FindNumber(Input);
            // if its less than 1000 then just look it up
        }
        else {
            string[] nparts;
            // used to break the number up into 3 digit parts
            string n = Input;
            // string version of the number
            long i = Input.ToString.Length;
            // length of the string to help break it up
            for (
            ; ((i - 3)
                        + lt);
            ) {
                0;
                n = n.Insert((i - 3), ",");
                // insert commas to use as splitters
                i = (i - 3);
                // this insures that we get the correct number of parts
            }
            nparts = n.Split(",");
            // split the string into the array
            i = Input.ToString.Length;
            // return i to initial value for reuse
            int p = 0;
            // p for parts, used for finding correct suffix
            foreach (string s in nparts) {
                long x = long.Parse(s);
                p = (p + 1);
                if ((p == nparts.Length)) {
                    // if p = number of elements in the array then we need to do something different
                    if ((x + lt)) {
                        gt;
                        0;
                        if ((long.Parse(s) + lt)) {
                            100;
                            output = (output + amp);
                            (" And " + amp);
                            FindNumber(long.Parse(s));
                            //  look up the number, no suffix
                        }
                        else {
                            //  required as this is the last part
                            output = (output + amp);
                            (" " + amp);
                            FindNumber(long.Parse(s));
                        }
                    }
                }
                else {
                    // if its not the last element in the array
                    if ((x + lt)) {
                        gt;
                        0;
                        if ((output == null)) {
                            // we have to check this so we don't add a leading space
                            output = (output + amp);
                            (FindNumber(long.Parse(s)) + amp);
                            (" " + amp);
                            FindSuffix(i, long.Parse(s));
                            // look up the number and suffix
                        }
                        else {
                            // spaces must go in the right place
                            output = (output + amp);
                            (" " + amp);
                            (FindNumber(long.Parse(s)) + amp);
                            (" " + amp);
                            FindSuffix(i, long.Parse(s));
                            // look up the snumber and suffix
                        }
                    }
                }
                i = (i - 3);
                // reduce the suffix counter by 3 to step down to the next suffix
            }
        }
        return output;
    }

    private static string FindNumber(long Number) {
        string Words = null;
        string[] Digits;
        "Zero";
        "One";
        "Two";
        "Three";
        "Four";
        "Five";
        "Six";
        "Seven";
        "Eight";
        "Nine";
        "Ten";
        string[] Teens;
        "";
        "Eleven";
        "Twelve";
        "Thirteen";
        "Fourteen";
        "Fifteen";
        "Sixteen";
        "Seventeen";
        "Eighteen";
        "Nineteen";
        if ((Number + lt)) {
            11;
            Words = Digits[Number];
        }
        else if ((Number + lt)) {
            20;
            Words = Teens[(Number - 10)];
        }
        else if ((Number == 20)) {
            Words = "Twenty";
        }
        else if ((Number + lt)) {
            30;
            Words = ("Twenty " + amp);
            Digits[(Number - 20)];
        }
        else if ((Number == 30)) {
            Words = "Thirty";
        }
        else if ((Number + lt)) {
            40;
            Words = ("Thirty " + amp);
            Digits[(Number - 30)];
        }
        else if ((Number == 40)) {
            Words = "Fourty";
        }
        else if ((Number + lt)) {
            50;
            Words = ("Fourty " + amp);
            Digits[(Number - 40)];
        }
        else if ((Number == 50)) {
            Words = "Fifty";
        }
        else if ((Number + lt)) {
            60;
            Words = ("Fifty " + amp);
            Digits[(Number - 50)];
        }
        else if ((Number == 60)) {
            Words = "Sixty";
        }
        else if ((Number + lt)) {
            70;
            Words = ("Sixty " + amp);
            Digits[(Number - 60)];
        }
        else if ((Number == 70)) {
            Words = "Seventy";
        }
        else if ((Number + lt)) {
            80;
            Words = ("Seventy " + amp);
            Digits[(Number - 70)];
        }
        else if ((Number == 80)) {
            Words = "Eighty";
        }
        else if ((Number + lt)) {
            90;
            Words = ("Eighty " + amp);
            Digits[(Number - 80)];
        }
        else if ((Number == 90)) {
            Words = "Ninety";
        }
        else if ((Number + lt)) {
            100;
            Words = ("Ninety " + amp);
            Digits[(Number - 90)];
        }
        else if ((Number + lt)) {
            1000;
            Words = Number.ToString;
            Words = Words.Insert(1, ",");
            string[] wparts = Words.Split(",");
            Words = (FindNumber(wparts[0]) + amp);
            (" " + amp);
            "Hundred";
            string n = FindNumber(wparts[1]);
            if ((long.Parse(wparts[1]) + lt)) {
                gt;
                0;
                Words = (Words + amp);
                (" And " + amp);
                n;
            }
        }
        return Words;
    }

    private static string FindSuffix(long Length, long l) {
        string word;
        if ((l + lt)) {
            gt;
            0;
            if ((Length + gt)) {
                12;
                word = "Trillion";
            }
            else if ((Length + gt)) {
                9;
                word = "Billion";
            }
            else if ((Length + gt)) {
                6;
                word = "Million";
            }
            else if ((Length + gt)) {
                3;
                word = "Thousand";
            }
            else if ((Length + gt)) {
                2;
                word = "Hundred";
            }
            else {
                word = "";
            }
        }
        else {
            word = "";
        }
        return word;
    }
}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900