Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Числа прописью (https://javascript.ru/forum/project/44272-chisla-propisyu.html)

Андрей1995 13.01.2014 16:16

Числа прописью
 
Помогите, как переделать код что бы он выводил цифры не от 10 до 99, а от 1 до 999?

var str = +prompt("Введите число от 10 до 99");
if ((isNaN(str)) || (str < 10) || (str > 99) || (parseInt(str) != str))
  { alert("Введено неправильное число!"); }
else
  { var q = ChisloPropis(str);
    alert('Пользователь ввёл: ' + str + " - " + q + ' ');
  }
  
function ChisloPropis(n)
{
    var b = n%10, a = (n-b)/10, // n = 10*a+b
        A1 = ['один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'],
        A2 = ['одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать',
               'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'],
        A3 = ['десять', 'двадцать', 'тридцать', 'сорок', 'пятьдесят',
              'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто']; 		  
    if (n > 10 && n < 20) return A2[n-11];              
    if (b == 0) return A3[a-1];
    return A3[a-1]+' '+A1[b-1];
   	
}

рони 13.01.2014 16:52

Андрей1995,
Вариант прописью до секстиллиона ...


Часовой пояс GMT +3, время: 01:33.