Member 8054539 Ответов: 6

как преобразовать число в слова, используя asp.net с используется CSharp


у меня есть два поля следующим образом,


Номер 1250 текстовое поле 1. у меня есть кнопка именно как конвертировать в слова.когда я нажимаю эту кнопку 1250 для преобразования в слова в textbox2

Преобразуйте в слова тысячу двести пятьдесят только textbox2.


как это сделать do.in asp.net пожалуйста, помогите мне.

6 Ответов

Рейтинг:
2
Рейтинг:
2
Рейтинг:
1

Manas Bhardwaj

Некоторые умные люди основали Гугл[^], который является бесплатным и работает удивительно.
Вы могли бы уже получить свое решение, посмотрев на Google.


Рейтинг:
1

Al Hizbul

Это может вам помочь
Кликните сюда


Рейтинг:
1

Majid-Ali

private string NumberToWords(int number)
        {
            if (number == 0)
                return "zero";

            if (number < 0)
                return "minus " + NumberToWords(Math.Abs(number));

            string words = "";
            if ((number / 1000000000) > 0)
            {
                words += NumberToWords(number / 1000000000) + " Billion ";
                number %= 1000000000;
            }

            if ((number / 10000000) > 0)
            {
                words += NumberToWords(number / 10000000) + " Crore ";
                number %= 10000000;
            }

            if ((number / 1000000) > 0)
            {
                words += NumberToWords(number / 1000000) + " Million ";
                number %= 1000000;
            }


            if ((number / 100000) > 0)
            {
                words += NumberToWords(number / 100000) + " Lakh ";
                number %= 100000;
            }


            if ((number / 1000) > 0)
            {
                words += NumberToWords(number / 1000) + " Thousand ";
                number %= 1000;
            }

            if ((number / 100) > 0)
            {
                words += NumberToWords(number / 100) + " Hundred ";
                number %= 100;
            }

            if (number > 0)
            {
                if (words != "")
                    words += "and ";

                var unitsMap = new[] { "zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
                var tensMap = new[] { "zero", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };

                if (number < 20)
                    words += unitsMap[number];
                else
                {
                    words += tensMap[number / 10];
                    if ((number % 10) > 0)
                        words += "-" + unitsMap[number % 10];
                }
            }

            return words;
        }


CHill60

Причина моего отрицательного голосования - вопрос старый и уже имеет несколько адекватных ответов. Мне также пришлось искать "крор" и "лакх" - не то, что я встречал раньше. Однако некоторая обратная связь по мере того, как вы шли к этому усилию - вы использовали int таким образом, вы ограничиваете максимальное число до 3 миллиардов. Кроме того, что делать, если требуется десятичная точка? Хорошо, что вы выбрали ноль и минус и использовали рекурсию.