Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Подсчет заполненных текстовых полей (http://www.flasher.ru/forum/showthread.php?t=119591)

dimarik 29.12.2008 19:07

Цитата:

а возможно ли заставить флеш заменять знак "," на "." ??
Цитата:

function str_replace(str, from, to):String
Вы что, издеваетесь? =)

Код AS1/AS2:

trace('1,223,123,123.asd'.split(',').join('.'));

А еще можно к текстовому полю применить TextField.restrict

Anoxia 30.12.2008 06:51

Просто я вообще AS не знаю
Хотя вроде бы уже начал понимать что такое переменная)))
никогда этим не занимался

Anoxia 25.01.2009 14:02

Вложений: 1
немного изменил и возникла еще куча нанов

я добавил еще 4 поля sx1, sx2, sx3, sx4
они работают по принципу sx1= x1 минус результат первого вычисления

оно работает но в остальные "пустые" поля выводит наны
далее нужно каждый sx возвести в квадрат и сложить

вобщем то sx выводятся в динамические поля и мне нада сделать повторную проверку на пустые поля
и считать в зависимости от количества заполненых

Код AS1/AS2:

var textFieldsNum:Number = 4;// кол-во полей
var total:Number = countTotal();// сумма полей * на их кол-во
 
function countTotal():Number{
        var inputedNums:Array = [];// контейнер для заполненных
        var i:Number = 1;
        while (i <= textFieldsNum) {
                var inputedNum:String = this[("x" + i)].text;
                if (inputedNum != "") {//если не пустое
                        inputedNums.push(Number(inputedNum));
                }
                i++;
        }
        var totalSum = 0;
        var j = 0;
        while (j < inputedNums.length) {
                var totalSum = (totalSum + inputedNums[j]);
                total_mc.text = totalSum / inputedNums.length;
 
// тут я от каждого х отнимаю результат
 
                sx1.text = x1.text -  total_mc.text
                sx2.text = x2.text -  total_mc.text
                sx3.text = x3.text -  total_mc.text
                sx4.text = x4.text -  total_mc.text
 
// тут пытаюсь сложить квадраты
 
                sxkvadrat.text = Math.sqrt(sx1.text) + Math.sqrt(sx2.text) + Math.sqrt(sx3.text) + Math.sqrt(sx4.text)
                j++;
        }
        return totalSum * inputedNums.length;
 
}
stop();

вот исходник с роликом

Fatality 25.01.2009 14:39

Метод sqrt класса Math работает с числами, а вы даете ему строку(sxN.text) и поэтому возвращается NaN, для преобразования строки в число используйте parseInt() или parseFloat(), второе предпочтительнее.
Код AS1/AS2:

Math.sqrt(parseFloat(sxN.text));


Anoxia 26.01.2009 09:59

спасибо parseInt() помог

теперь остались главные проблемы.
если поля Хn не все заполнены то считать ничего не будет.

но как сделать чтобы количество отниманий результата и количество сложений квадратов, были равны изначальному количеству заполненых полей?


Часовой пояс GMT +4, время: 15:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.