![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2004
Сообщений: 24
|
Подскажите как сосчитать поля с числами
тоесть есть к примеру 4 поля (x1, x2, x3, x4) иногда заполняются все, а иногда нет. К примеру я хочу посчитать формулу (суммировать все поля) и умножить на количество полей, игнорируя незаполненные что то вроде такого: заполнил 3 поля x1+x2+x3*(количество заполненых полей) заранее благодарен ![]() |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
var textFieldsNum:Number = 4;// кол-во полей var total:Number = countTotal(); // сумма полей * на их кол-во function countTotal():Number { var inputedNums:Array = [];// контейнер для заполненных for (var i:Number = 1; i<=textFieldsNum; i++) { var inputedText:String = this['textField'+i].text; if (inputedText != "") {//если не пустое inputedNums.push(parseInt(inputedText));// запоминаем и заодно приводим в число } } // подсчитываем var totalSum:Number = 0; for (var j:Number = 0; j<inputedNums.length; j++) { totalSum += inputedNums[j]; } return totalSum*inputedNums.length; } |
|
|||||
|
Kuruki, почему бы вместо "запоминания" сразу не складывать?
![]() но с другой стороны сам люблю, когда мухи отдельно... |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
var textFieldsNum:Number = 4;// кол-во полей var total:Number = countTotal(); // сумма полей * на их кол-во function countTotal():Number { var totalSum:Number = 0; var filledFieldsCounter:Number = 0; for (var i:Number = 1; i<=textFieldsNum; i++) { var inputedNum:String = this['textField'+i].text; if (inputedNum != "") {//если не пустое totalSum += parseInt(inputedNum); filledFieldsCounter++; } } return totalSum*filledFieldsCounter; } |
|
|||||
|
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Я учитывал, что в поле можно ввести только числа и точку
UPD: а, нет, всеравно проверка нужна. |
|
|||||
|
Цитата:
![]() там как раз из-за точки и можно намутить NaN-ов ))) |
|
|||||
|
Регистрация: Jan 2004
Сообщений: 24
|
сегодня буду пробовать
спасибо заранее всем огромное) Добавлено через 4 часа 30 минут еще бы понять как такое заставить обрабатывать мои поля которые изначально уже есть с присвоеными именами x1, x2, x3... тоесть я их не создаю через createTextField не могу понять как результат вывести в мое отдельное поле "itog" |
|
|||||
|
строку
замените на |
|
|||||
|
Регистрация: Jan 2004
Сообщений: 24
|
спасибо. уже что то
хоть и пока не работает) выложу на всякий исходник чтобы понятно было что я хочу сделать осталось разобратся как присвоить результат переменной itog |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|