Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.09.2013, 12:48
Аспирант
Отправить личное сообщение для Anna77 Посмотреть профиль Найти все сообщения от Anna77
 
Регистрация: 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, 13.10.2013 в 00:25.
Ответить с цитированием
  #2 (permalink)  
Старый 30.09.2013, 13:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Anna77,
где i потерялось?
Ответить с цитированием
  #3 (permalink)  
Старый 30.09.2013, 13:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Anna77,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #4 (permalink)  
Старый 30.09.2013, 15:04
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

https://www.google.com/search?q=java...81%D1%8C%D1%8E
Ответить с цитированием
  #5 (permalink)  
Старый 30.09.2013, 17:17
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 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 в 19:36. Причина: поправил код
Ответить с цитированием
  #6 (permalink)  
Старый 30.09.2013, 18:30
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 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 в 19:40.
Ответить с цитированием
  #7 (permalink)  
Старый 30.09.2013, 19:37
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Demath,
поправил код, не доглядел
Ответить с цитированием
  #8 (permalink)  
Старый 01.10.2013, 00:39
Аспирант
Отправить личное сообщение для Anna77 Посмотреть профиль Найти все сообщения от Anna77
 
Регистрация: 25.09.2013
Сообщений: 44

Мальчики, спасибо!thanks:
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
округлить число Гробовщик Библиотеки/Тулкиты/Фреймворки 5 18.09.2013 17:45
определить число целое или нет dadli Общие вопросы Javascript 29 14.06.2012 22:59
Как найти наибольшее число и ввести его на экран? Ivan152 Оффтопик 2 20.05.2012 20:13
функция и несуществующий id Ankh Элементы интерфейса 4 10.02.2012 23:49
Где вызывается функция? cradis Общие вопросы Javascript 5 23.04.2011 13:47