![]() |
Подсчет заполненных текстовых полей
Подскажите как сосчитать поля с числами
тоесть есть к примеру 4 поля (x1, x2, x3, x4) иногда заполняются все, а иногда нет. К примеру я хочу посчитать формулу (суммировать все поля) и умножить на количество полей, игнорируя незаполненные что то вроде такого: заполнил 3 поля x1+x2+x3*(количество заполненых полей) заранее благодарен:) |
Код AS1/AS2:
|
Kuruki, почему бы вместо "запоминания" сразу не складывать? :)
но с другой стороны сам люблю, когда мухи отдельно... |
Код AS1/AS2:
|
Код AS1/AS2:
|
Я учитывал, что в поле можно ввести только числа и точку
UPD: а, нет, всеравно проверка нужна. |
Цитата:
там как раз из-за точки и можно намутить NaN-ов ))) |
сегодня буду пробовать
спасибо заранее всем огромное) Добавлено через 4 часа 30 минут еще бы понять как такое заставить обрабатывать мои поля которые изначально уже есть с присвоеными именами x1, x2, x3... тоесть я их не создаю через createTextField не могу понять как результат вывести в мое отдельное поле "itog" |
строку
Код:
var inputedNum:String = this['textField'+i].text;Код:
var inputedNum:String = this['x'+i].text; |
Вложений: 1
спасибо. уже что то
хоть и пока не работает) выложу на всякий исходник чтобы понятно было что я хочу сделать осталось разобратся как присвоить результат переменной itog |
Вложений: 1
И заметьте что поле "Итог" должно начинать с первого кадра, а не 35)))
|
Спасибо ребята
оно у меня уже практически работает)))) правда пришлось подглядеть в ролик KiL33 Подглядывалка немного попортила код, но хотябы почти работает) Заодно убедился что я все неправильно делал Она не хочет считать дробные числа (например 0,5 + 0,5 + 0,5 + 0,5 * 4 = 0) А вот так 0,5 + 0,5 + 2 + 2 * 4 = 16 это значит что дробные числа он игнорирует Причем ей без разницы точки или зяпятые Код AS1/AS2:
и теперь когда полям присвоены имена, а не так как я делал переменные не работает кнопа "очистить" там у меня было: Код AS1/AS2:
|
Цитата:
Код:
on (release) { |
точно) очистка заработала.
спасибо осталось разобратся с дробями кстати заметил что он не игнорирует все число. видит целое число а на дробные ему пофик 2,5 + 2 + 2 + 2 * 4 = 32 |
parseInt() заменить на Number()
ps дроби пишутся через точку Уж можно было догадаться почитав посты №6 и №7 |
Ой, только сейчас заметил, что забыл исходник в архив засунуть)))_ну думаю Anoxia вы и так разобрались)
|
спасибо работает)
а возможно ли заставить флеш заменять знак "," на "." ?? тоесть чтобы если ошиблись при вводе и наставили запятых, то флеш сам перевел покапал класс string и впринципе нашел примеры, но там везде поиск и замена по определенной строке. тоесть было бы неплохо если бы он искал по всем полям и заменял, до того как провел расчеты. наверно лучший вариант сразу после проверки на пустые поля Добавлено через 12 минут Вот нашел подобную функцию тока незнаю как заставить работать))) Код AS1/AS2:
|
Код AS1/AS2:
|
Вложений: 1
Цитата:
но чето не работает |
ну теперь примените её к тем переменным, где она необходима.
|
Цитата:
Цитата:
Код AS1/AS2:
|
Просто я вообще AS не знаю
Хотя вроде бы уже начал понимать что такое переменная))) никогда этим не занимался |
Вложений: 1
немного изменил и возникла еще куча нанов
я добавил еще 4 поля sx1, sx2, sx3, sx4 они работают по принципу sx1= x1 минус результат первого вычисления оно работает но в остальные "пустые" поля выводит наны далее нужно каждый sx возвести в квадрат и сложить вобщем то sx выводятся в динамические поля и мне нада сделать повторную проверку на пустые поля и считать в зависимости от количества заполненых Код AS1/AS2:
|
Метод sqrt класса Math работает с числами, а вы даете ему строку(sxN.text) и поэтому возвращается NaN, для преобразования строки в число используйте parseInt() или parseFloat(), второе предпочтительнее.
Код AS1/AS2:
|
спасибо parseInt() помог
теперь остались главные проблемы. если поля Хn не все заполнены то считать ничего не будет. но как сделать чтобы количество отниманий результата и количество сложений квадратов, были равны изначальному количеству заполненых полей? |
| Часовой пояс GMT +4, время: 19:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.