Convert Number into Word on ASP.Net DropDownList change using C# and VB.Net

zulkarnain
 
on Dec 23, 2017 01:15 AM
3499 Views

How to Convert Number into Word eg:100000 to 1Lac and so on using C#

    protected void ddlcrore_SelectedIndex_Changed(object sender, EventArgs e)
    {

        if (ddlcrore.SelectedValue != "-1")
        {
            string crore = ToLong(ddlcrore.SelectedItem.Text.Trim() + " 10000000").ToString();
            string lac = ToLong(ddlLac.SelectedItem.Text.Trim() + " 100000").ToString();
            string thousand = ToLong(ddlthousand.SelectedItem.Text.Trim() + " 1000").ToString();
            txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand))
             .ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"));
        }

    }
    protected void ddlLac_SelectedIndex_Changed(object sender, EventArgs e)
    {

        if (ddlLac.SelectedValue != "-1")
        {
            string crore = ToLong(ddlcrore.SelectedItem.Text.Trim() + " 10000000").ToString();
            string lac = ToLong(ddlLac.SelectedItem.Text.Trim() + " 100000").ToString();
            string thousand = ToLong(ddlthousand.SelectedItem.Text.Trim() + " 1000").ToString();
            txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand))
             .ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"));
        }

    }

    protected void ddlthousand_SelectedIndex_changed(object sender, EventArgs e)
    {
        if (ddlthousand.SelectedValue != "-1")
        {

            string crore = ToLong(ddlcrore.SelectedItem.Text.Trim() + " 10000000").ToString();
            string lac = ToLong(ddlLac.SelectedItem.Text.Trim() + " 100000").ToString();
            string thousand = ToLong(ddlthousand.SelectedItem.Text.Trim() + " 1000").ToString();
            txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand))
             .ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"));
        }


    }

    private static Dictionary<string, long> numberTable = new Dictionary<string, long> {
                                                        {"0",0},{"1",1},{"2",2},{"3",3},{"4",4},
                                                        {"5",5},{"6",6},{"7",7},{"8",8},{"9",9},
                                                        {"10",10},{"11",11},{"12",12},{"13",13},
                                                        {"14",14},{"15",15},{"16",16},
                                                        {"17",17},{"18",18},{"19",19},{"20",20},
                                                        {"21",21},{"22",22},{"23",23},{"24",24},
                                                        {"25",25},{"26",26},{"27",27},{"28",28},
                                                        {"29",29},{"30",30},{"31",31},{"32",32},
                                                        {"33",33},{"34",34},{"35",35},{"36",36},
                                                        {"37",37},{"38",38},{"39",39},{"40",40},
                                                        {"41",41},{"42",42},{"43",43},{"44",44},
                                                        {"45",45},{"46",46},{"47",47},{"48",48},
                                                        {"49",49},{"50",50},{"51",51},{"52",52},
                                                        { "53",53},{"54",54},{"55",55},{"56",56},
                                                        {"57",57},{"58",58},{"59",59},{"60",60},
                                                        {"61",61},{"62",62},{"63",63},{"64",64},
                                                        {"65",65},{"66",66},{"67",67},{"68",68},
                                                        {"69",69},{"70",70},{"71",71},{"72",72},
                                                        {"73",73},{"74",74},{"75",75},{"76",76},
                                                        {"77",77},{"78",78},{"79",79},{"80",80},
                                                        {"81",81},{"82",82},{"83",83},{"84",84},
                                                        {"85",85},{"86",86},{"87",87},{"88",88},
                                                        {"89",89},{"90",90},{"91",91},{"92",92},
                                                        {"93",93},{"94",94},{"95",95},{"96",96},
                                                        {"97",97},{"98",98},{"99",99},{"100",100},
                                                        { "101",101},{"102",102},{"103",103},{"104",104},
                                                        {"105",105},{"106",106},{"107",107},{"108",108},
                                                        {"109",109},{"110",110},{"111",111},{"112",112},
                                                        {"1000",1000},{"100000",100000},{"10000000",10000000}};



    public static long ToLong(string numberString)
    {
        var numbers = Regex.Matches(numberString, @"\w+").Cast<Match>()
                .Select(m => m.Value.ToLowerInvariant())
                .Where(v => numberTable.ContainsKey(v))
                .Select(v => numberTable[v]);
        long acc = 0, total = 0L;
        foreach (long n in numbers)
        {
            if (n >= 1000)
            {
                total += (acc * n);
                acc = 0;
            }
            else if (n >= 100)
            {
                acc *= n;
            }
            else acc += n;
        }
        return (total + acc) * (numberString.StartsWith("minus", StringComparison.InvariantCultureIgnoreCase) ? -1 : 1);
    }
Download FREE API for Word, Excel and PDF in ASP.Net: Download
kalpesh
 
on Dec 26, 2017 07:00 AM
on Dec 26, 2017 07:02 AM

Refer the Below Sample code for your reference and implement it as per your code logic.

HTML

<div>
    <asp:DropDownList ID="ddlcrore" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlcrore_SelectedIndex_Changed">
        <asp:ListItem Text="0" Value="0"></asp:ListItem>
        <asp:ListItem Text="1" Value="1"></asp:ListItem>
        <asp:ListItem Text="2" Value="2"></asp:ListItem>
        <asp:ListItem Text="3" Value="3"></asp:ListItem>
        <asp:ListItem Text="4" Value="4"></asp:ListItem>
        <asp:ListItem Text="5" Value="5"></asp:ListItem>
        <asp:ListItem Text="6" Value="6"></asp:ListItem>
        <asp:ListItem Text="7" Value="7"></asp:ListItem>
        <asp:ListItem Text="8" Value="8"></asp:ListItem>
        <asp:ListItem Text="9" Value="9"></asp:ListItem>
        <asp:ListItem Text="10" Value="10"></asp:ListItem>
        <asp:ListItem Text="11" Value="11"></asp:ListItem>
        <asp:ListItem Text="12" Value="12"></asp:ListItem>
        <asp:ListItem Text="13" Value="13"></asp:ListItem>
        <asp:ListItem Text="14" Value="14"></asp:ListItem>
        <asp:ListItem Text="15" Value="15"></asp:ListItem>
    </asp:DropDownList>
    <asp:DropDownList ID="ddlLac" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlLac_SelectedIndex_Changed">
        <asp:ListItem Text="0" Value="0"></asp:ListItem>
        <asp:ListItem Text="1" Value="1"></asp:ListItem>
        <asp:ListItem Text="2" Value="2"></asp:ListItem>
        <asp:ListItem Text="3" Value="3"></asp:ListItem>
        <asp:ListItem Text="4" Value="4"></asp:ListItem>
        <asp:ListItem Text="5" Value="5"></asp:ListItem>
        <asp:ListItem Text="6" Value="6"></asp:ListItem>
        <asp:ListItem Text="7" Value="7"></asp:ListItem>
        <asp:ListItem Text="8" Value="8"></asp:ListItem>
        <asp:ListItem Text="9" Value="9"></asp:ListItem>
        <asp:ListItem Text="10" Value="10"></asp:ListItem>
        <asp:ListItem Text="11" Value="11"></asp:ListItem>
        <asp:ListItem Text="12" Value="12"></asp:ListItem>
        <asp:ListItem Text="13" Value="13"></asp:ListItem>
        <asp:ListItem Text="14" Value="14"></asp:ListItem>
        <asp:ListItem Text="15" Value="15"></asp:ListItem>
        <asp:ListItem Text="16" Value="16"></asp:ListItem>
        <asp:ListItem Text="17" Value="17"></asp:ListItem>
        <asp:ListItem Text="18" Value="18"></asp:ListItem>
        <asp:ListItem Text="19" Value="19"></asp:ListItem>
        <asp:ListItem Text="20" Value="20"></asp:ListItem>
    </asp:DropDownList>
    <asp:DropDownList ID="ddlthousand" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlthousand_SelectedIndex_changed">
        <asp:ListItem Text="0" Value="0"></asp:ListItem>
        <asp:ListItem Text="1" Value="1"></asp:ListItem>
        <asp:ListItem Text="2" Value="2"></asp:ListItem>
        <asp:ListItem Text="3" Value="3"></asp:ListItem>
        <asp:ListItem Text="4" Value="4"></asp:ListItem>
        <asp:ListItem Text="5" Value="5"></asp:ListItem>
        <asp:ListItem Text="6" Value="6"></asp:ListItem>
        <asp:ListItem Text="7" Value="7"></asp:ListItem>
        <asp:ListItem Text="8" Value="8"></asp:ListItem>
        <asp:ListItem Text="9" Value="9"></asp:ListItem>
        <asp:ListItem Text="10" Value="10"></asp:ListItem>
        <asp:ListItem Text="11" Value="11"></asp:ListItem>
        <asp:ListItem Text="12" Value="12"></asp:ListItem>
        <asp:ListItem Text="13" Value="13"></asp:ListItem>
        <asp:ListItem Text="14" Value="14"></asp:ListItem>
        <asp:ListItem Text="15" Value="15"></asp:ListItem>
        <asp:ListItem Text="16" Value="16"></asp:ListItem>
        <asp:ListItem Text="17" Value="17"></asp:ListItem>
        <asp:ListItem Text="18" Value="18"></asp:ListItem>
        <asp:ListItem Text="19" Value="19"></asp:ListItem>
        <asp:ListItem Text="20" Value="20"></asp:ListItem>
    </asp:DropDownList>
    <br />
    <br />
    <asp:TextBox ID="txtConvertion_Result" runat="server"></asp:TextBox>
    <br />
    <asp:Button ID="btnConvert" runat="server" OnClick="ConvertNumTowords" Text="Convert Number To words" />
    <br />
    <asp:Label ID="lblWords" runat="server" Visible="false"></asp:Label>
    <br />
    <asp:Label ID="lblWords2" runat="server" Visible="false"></asp:Label>
</div>

C#

protected void ddlcrore_SelectedIndex_Changed(object sender, EventArgs e)
{
    if (ddlcrore.SelectedValue != "-1")
    {
        string crore = ToLong(ddlcrore.SelectedItem.Text.Trim() + " 10000000").ToString();
        string lac = ToLong(ddlLac.SelectedItem.Text.Trim() + " 100000").ToString();
        string thousand = ToLong(ddlthousand.SelectedItem.Text.Trim() + " 1000").ToString();
        txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand))
            .ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"));
    }
}

protected void ddlLac_SelectedIndex_Changed(object sender, EventArgs e)
{

    if (ddlLac.SelectedValue != "-1")
    {
        string crore = ToLong(ddlcrore.SelectedItem.Text.Trim() + " 10000000").ToString();
        string lac = ToLong(ddlLac.SelectedItem.Text.Trim() + " 100000").ToString();
        string thousand = ToLong(ddlthousand.SelectedItem.Text.Trim() + " 1000").ToString();
        txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand))
            .ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"));
    }

}

protected void ddlthousand_SelectedIndex_changed(object sender, EventArgs e)
{
    if (ddlthousand.SelectedValue != "-1")
    {

        string crore = ToLong(ddlcrore.SelectedItem.Text.Trim() + " 10000000").ToString();
        string lac = ToLong(ddlLac.SelectedItem.Text.Trim() + " 100000").ToString();
        string thousand = ToLong(ddlthousand.SelectedItem.Text.Trim() + " 1000").ToString();
        txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand))
            .ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"));
    }
}

private static Dictionary<string, long> numberTable = new Dictionary<string, long> {
                                                    {"0",0},{"1",1},{"2",2},{"3",3},{"4",4},
                                                    {"5",5},{"6",6},{"7",7},{"8",8},{"9",9},
                                                    {"10",10},{"11",11},{"12",12},{"13",13},
                                                    {"14",14},{"15",15},{"16",16},
                                                    {"17",17},{"18",18},{"19",19},{"20",20},
                                                    {"21",21},{"22",22},{"23",23},{"24",24},
                                                    {"25",25},{"26",26},{"27",27},{"28",28},
                                                    {"29",29},{"30",30},{"31",31},{"32",32},
                                                    {"33",33},{"34",34},{"35",35},{"36",36},
                                                    {"37",37},{"38",38},{"39",39},{"40",40},
                                                    {"41",41},{"42",42},{"43",43},{"44",44},
                                                    {"45",45},{"46",46},{"47",47},{"48",48},
                                                    {"49",49},{"50",50},{"51",51},{"52",52},
                                                    { "53",53},{"54",54},{"55",55},{"56",56},
                                                    {"57",57},{"58",58},{"59",59},{"60",60},
                                                    {"61",61},{"62",62},{"63",63},{"64",64},
                                                    {"65",65},{"66",66},{"67",67},{"68",68},
                                                    {"69",69},{"70",70},{"71",71},{"72",72},
                                                    {"73",73},{"74",74},{"75",75},{"76",76},
                                                    {"77",77},{"78",78},{"79",79},{"80",80},
                                                    {"81",81},{"82",82},{"83",83},{"84",84},
                                                    {"85",85},{"86",86},{"87",87},{"88",88},
                                                    {"89",89},{"90",90},{"91",91},{"92",92},
                                                    {"93",93},{"94",94},{"95",95},{"96",96},
                                                    {"97",97},{"98",98},{"99",99},{"100",100},
                                                    { "101",101},{"102",102},{"103",103},{"104",104},
                                                    {"105",105},{"106",106},{"107",107},{"108",108},
                                                    {"109",109},{"110",110},{"111",111},{"112",112},
                                                    {"1000",1000},{"100000",100000},{"10000000",10000000}};



public static long ToLong(string numberString)
{
    var numbers = Regex.Matches(numberString, @"\w+").Cast<Match>()
            .Select(m => m.Value.ToLowerInvariant())
            .Where(v => numberTable.ContainsKey(v))
            .Select(v => numberTable[v]);
    long acc = 0, total = 0L;
    foreach (long n in numbers)
    {
        if (n >= 1000)
        {
            total += (acc * n);
            acc = 0;
        }
        else if (n >= 100)
        {
            acc *= n;
        }
        else acc += n;
    }
    return (total + acc) * (numberString.StartsWith("minus", StringComparison.InvariantCultureIgnoreCase) ? -1 : 1);
}

protected void ConvertNumTowords(object sender, EventArgs e)
{
    string[] Ones = { "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Ninteen", "Twenty" };
    string[] Tens = { "Ten", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninty" };
    int no = Convert.ToInt32(this.txtConvertion_Result.Text.Trim().Replace(",", ""));
    string strWords = "";
    string strSecondWords = "";
    bool isAmountAssigned = false;
    if (no > 9999999 && no < 1000000000)
    {
        int j = no / 10000000;
        strWords = strWords + Ones[j - 1] + " Cr ";
        no = no % 10000000;
        isAmountAssigned = true;
        strSecondWords = j + (no > 0 ? "." + (ddlLac.SelectedItem.Value == "0" ? (no.ToString().Length > 4 ? "00" : "000") + no.ToString().TrimEnd('0') : ((ddlLac.SelectedItem.Value.Length == 1 ? "0" : "") + no.ToString().TrimEnd('0'))) : "") + " Cr ";
    }
    if (no > 99999 && no < 10000000)
    {
        int j = no / 100000;
        strWords = strWords + Ones[j - 1] + " Lac ";
        no = no % 100000;
        if (!isAmountAssigned)
        {
            isAmountAssigned = true;
            strSecondWords = j + (no > 0 ? "." + no.ToString().TrimEnd('0') : "") + " Lac ";
        }
    }
    if (no > 999 && no < 100000)
    {
        int j = no / 1000;
        strWords = strWords + Ones[j - 1] + " Thousand ";
        no = no % 1000;
        if (!isAmountAssigned)
        {
            isAmountAssigned = true;
            strSecondWords = j + (no > 0 ? "." + no.ToString().TrimEnd('0') : "") + " Thousand ";
        }
    }
    if (no > 99 && no < 1000)
    {
        int j = no / 100;
        strWords = strWords + Ones[j - 1] + " Hundred ";
        no = no % 100;
        if (!isAmountAssigned)
        {
            isAmountAssigned = true;
            strSecondWords = j + (no > 0 ? "." + no.ToString().TrimEnd('0') : "") + " Hundred ";
        }
    }
    if (no > 19 && no < 100)
    {
        int j = no / 10;
        strWords = strWords + Tens[j - 1] + " ";
        no = no % 10;
    }
    if (no > 0 && no < 20)
    {
        strWords = strWords + Ones[no - 1];
    }
    this.lblWords.Visible = true;
    this.lblWords2.Visible = true;
    this.lblWords.Text = strWords;
    this.lblWords2.Text = strSecondWords;
}

 

VB.Net 

 

Protected Sub ddlcrore_SelectedIndex_Changed(ByVal sender As Object, ByVal e As EventArgs) Handles ddlcrore.SelectedIndexChanged
    If ddlcrore.SelectedValue <> "-1" Then
        Dim crore As String = ToLong(ddlcrore.SelectedItem.Text.Trim() & " 10000000").ToString()
        Dim lac As String = ToLong(ddlLac.SelectedItem.Text.Trim() & " 100000").ToString()
        Dim thousand As String = ToLong(ddlthousand.SelectedItem.Text.Trim() & " 1000").ToString()
        txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand)).ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"))
    End If
End Sub

Protected Sub ddlLac_SelectedIndex_Changed(ByVal sender As Object, ByVal e As EventArgs) Handles ddlLac.SelectedIndexChanged
    If ddlLac.SelectedValue <> "-1" Then
        Dim crore As String = ToLong(ddlcrore.SelectedItem.Text.Trim() & " 10000000").ToString()
        Dim lac As String = ToLong(ddlLac.SelectedItem.Text.Trim() & " 100000").ToString()
        Dim thousand As String = ToLong(ddlthousand.SelectedItem.Text.Trim() & " 1000").ToString()
        txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand)).ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"))
    End If
End Sub

Protected Sub ddlthousand_SelectedIndex_changed(ByVal sender As Object, ByVal e As EventArgs) Handles ddlthousand.SelectedIndexChanged
    If ddlthousand.SelectedValue <> "-1" Then
        Dim crore As String = ToLong(ddlcrore.SelectedItem.Text.Trim() & " 10000000").ToString()
        Dim lac As String = ToLong(ddlLac.SelectedItem.Text.Trim() & " 100000").ToString()
        Dim thousand As String = ToLong(ddlthousand.SelectedItem.Text.Trim() & " 1000").ToString()
        txtConvertion_Result.Text = (Convert.ToDecimal(crore) + Convert.ToDecimal(lac) + Convert.ToDecimal(thousand)).ToString("N0", System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"))
    End If
End Sub
Private Shared numberTable As Dictionary(Of String, Long) = New Dictionary(Of String, Long) From {{"0", 0}, {"1", 1}, {"2", 2}, {"3", 3}, {"4", 4}, {"5", 5}, {"6", 6}, {"7", 7}, {"8", 8}, {"9", 9}, {"10", 10}, {"11", 11}, {"12", 12}, {"13", 13}, {"14", 14}, {"15", 15}, {"16", 16}, {"17", 17}, {"18", 18}, {"19", 19}, {"20", 20}, {"21", 21}, {"22", 22}, {"23", 23}, {"24", 24}, {"25", 25}, {"26", 26}, {"27", 27}, {"28", 28}, {"29", 29}, {"30", 30}, {"31", 31}, {"32", 32}, {"33", 33}, {"34", 34}, {"35", 35}, {"36", 36}, {"37", 37}, {"38", 38}, {"39", 39}, {"40", 40}, {"41", 41}, {"42", 42}, {"43", 43}, {"44", 44}, {"45", 45}, {"46", 46}, {"47", 47}, {"48", 48}, {"49", 49}, {"50", 50}, {"51", 51}, {"52", 52}, {"53", 53}, {"54", 54}, {"55", 55}, {"56", 56}, {"57", 57}, {"58", 58}, {"59", 59}, {"60", 60}, {"61", 61}, {"62", 62}, {"63", 63}, {"64", 64}, {"65", 65}, {"66", 66}, {"67", 67}, {"68", 68}, {"69", 69}, {"70", 70}, {"71", 71}, {"72", 72}, {"73", 73}, {"74", 74}, {"75", 75}, {"76", 76}, {"77", 77}, {"78", 78}, {"79", 79}, {"80", 80}, {"81", 81}, {"82", 82}, {"83", 83}, {"84", 84}, {"85", 85}, {"86", 86}, {"87", 87}, {"88", 88}, {"89", 89}, {"90", 90}, {"91", 91}, {"92", 92}, {"93", 93}, {"94", 94}, {"95", 95}, {"96", 96}, {"97", 97}, {"98", 98}, {"99", 99}, {"100", 100}, {"101", 101}, {"102", 102}, {"103", 103}, {"104", 104}, {"105", 105}, {"106", 106}, {"107", 107}, {"108", 108}, {"109", 109}, {"110", 110}, {"111", 111}, {"112", 112}, {"1000", 1000}, {"100000", 100000}, {"10000000", 10000000}}

Public Shared Function ToLong(ByVal numberString As String) As Long
    Dim numbers = Regex.Matches(numberString, "\w+").Cast(Of Match)().[Select](Function(m) m.Value.ToLowerInvariant()).Where(Function(v) numberTable.ContainsKey(v)).[Select](Function(v) numberTable(v))
    Dim acc As Long = 0, total As Long = 0L
    For Each n As Long In numbers
        If (n >= 1000) Then
            total = (total + (acc * n))
            acc = 0
        ElseIf (n >= 100) Then
            acc = (acc * n)
        Else
            acc = (acc + n)
        End If
    Next
    Return ((total + acc) * (IIf(numberString.StartsWith("minus", StringComparison.InvariantCultureIgnoreCase), -1, 1)))
End Function

Protected Sub ConvertNumTowords(ByVal sender As Object, ByVal e As EventArgs)
    Dim Ones As String() = {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Ninteen", "Twenty"}
    Dim Tens As String() = {"Ten", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninty"}

    Dim no As Integer = Convert.ToInt32(Me.txtConvertion_Result.Text.Trim().Replace(",", ""))
    Dim strWords As String = ""
    Dim strSecondWords As String = ""
    Dim isAmountAssigned As Boolean = False
    If ((no > 9999999) AndAlso (no < 1000000000)) Then
        Dim j As Integer = (no / 10000000)
        strWords = (strWords & (Ones((j - 1)) & " Cr "))
        no = (no Mod 10000000)
        isAmountAssigned = True
        strSecondWords = j & IIf((no > 0), "." & IIf(ddlLac.SelectedItem.Value = "0", IIf(no.ToString().Length > 4, "00", "000") & no.ToString().TrimEnd("0"), IIf(ddlLac.SelectedItem.Value.Length = 1, "0", "") & no.ToString().TrimEnd("0")), "") & " Cr "
    End If
    If ((no > 99999) AndAlso (no < 10000000)) Then
        Dim j As Integer = (no / 100000)
        strWords = (strWords & (Ones((j - 1)) & " Lac "))
        no = (no Mod 100000)
        If Not isAmountAssigned Then
            isAmountAssigned = True
            strSecondWords = (j & IIf(no > 0, "." & no.ToString().TrimEnd("0"), "") & " Lac ")
        End If
    End If
    If ((no > 999) AndAlso (no < 100000)) Then
        Dim j As Integer = (no / 1000)
        strWords = (strWords & (Ones((j - 1)) & " Thousand "))
        no = (no Mod 1000)
        If Not isAmountAssigned Then
            isAmountAssigned = True
            strSecondWords = (j & IIf(no > 0, "." & no.ToString().TrimEnd("0"), "") & " Thousand ")
        End If
    End If
    If ((no > 99) AndAlso (no < 1000)) Then
        Dim j As Integer = (no / 100)
        strWords = (strWords & (Ones((j - 1)) & " Hundred "))
        no = (no Mod 100)
        If Not isAmountAssigned Then
            isAmountAssigned = True
            strSecondWords = (j & IIf(no > 0, "." & no.ToString().TrimEnd("0"), "") & " Hundred ")
        End If
    End If
    If ((no > 19) AndAlso (no < 100)) Then
        Dim j As Integer = (no / 10)
        strWords = (strWords & (Tens((j - 1)) & " "))
        no = (no Mod 10)
    End If
    If ((no > 0) AndAlso (no < 20)) Then
        strWords = (strWords & Ones((no - 1)))
    End If
    Me.lblWords.Visible = True
    Me.lblWords2.Visible = True
    Me.lblWords.Text = strWords
    Me.lblWords2.Text = strSecondWords
End Sub

 

Screenshot

 

kalpesh
 
on Dec 27, 2017 02:27 AM
zulkarnain says:

Sir thanks for reply your code helpmealot butwheni have   add Listitemforddlcrore from 0-99 now the problemiswheneveri selected option beyond 20cr it gives an Error of '

Index was outside the bounds of the array

'  at line (Line 130: strWords = strWords + Ones[j - 1] + " Lac ";)

 

same happens with ddlLac and ddlThousand

kindly help sir

You just need to implement it as per your requirement check the array element as you need to add all the possible Item values as Exist in dropdown to the array element it’s a logical point. Go through the code and try it and implement it as it’s your code.

kalpesh says:
 string[] Ones = { "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Ninteen", "Twenty" };