Да, просто замени весь шаблон на этот:
|

30.09.2013, 11:48
|
|
Аспирант
|
|
Регистрация: 25.09.2013
Сообщений: 44
|
|
|
функция число прописью
Здравствуйте!
function numPropis(i, num) {
alert(i + " " + num);
var q = '';
var i = parseInt(num / 10);
num = num - 10 * i;
document.write('Пользователь ввёл: ' + str + " - " + q + ' ');
Последний раз редактировалось Anna77, 12.10.2013 в 23:25.
|
|

30.09.2013, 12:37
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,156
|
|
|
Anna77,
где i потерялось?
|
|

30.09.2013, 12:37
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,156
|
|
Anna77,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|

30.09.2013, 14:04
|
 |
Профессор
|
|
Регистрация: 02.08.2012
Сообщений: 293
|
|
|
|
|

30.09.2013, 16:17
|
 |
Профессор
|
|
Регистрация: 23.06.2011
Сообщений: 1,165
|
|
|
Сообщение от Anna77
|
|
Подскажите, что неверно:
|
Например, что за параметры в функцию передаются?
function numPropis(i, num)
var q = numPropis(num);
Почему после проверки на соответствие условиям ввода код дальше все равно не останавливается?
Что вы здесь хотели сделать?
var i = parseInt(num / 10);
Слово "неверное" - это скорее про супругов или про представителя другой религии
Вот, чуть-чуть переделал:
var str = +prompt("Введите число от 10 до 99");
if ((isNaN(str)) || (str < 10) || (str > 99) || (parseInt(str) != str)) {
alert("Введено неправильное число!");
} else {
var q = numPropis(str);
alert('Пользователь ввёл: ' + str + " - " + q + ' ');
}
function numPropis(num) {
var arr = ['один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать']
var arr2 = ['двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'];
if (num < 20) return arr[num - 1];
var res = arr2[Math.floor(num / 10) - 2];
if (num % 10 != 0) res += ' ' + arr[num % 10 - 1];
return res;
}
Последний раз редактировалось BETEPAH, 30.09.2013 в 18:36.
Причина: поправил код
|
|

30.09.2013, 17:30
|
 |
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
BETEPAH,
Для num = 20,30,...,90 чему равно arr[num % 10 - 1] ?!)
Или так
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];
}
Последний раз редактировалось Demath, 30.09.2013 в 18:40.
|
|

30.09.2013, 18:37
|
 |
Профессор
|
|
Регистрация: 23.06.2011
Сообщений: 1,165
|
|
Demath,
поправил код, не доглядел 
|
|

30.09.2013, 23:39
|
|
Аспирант
|
|
Регистрация: 25.09.2013
Сообщений: 44
|
|
|
Мальчики, спасибо!thanks:
|
|
|
|