As3用于转换为数组的数字的输入字段

时间:2013-02-28 15:10:19

标签: actionscript-3

我有一个输入字段和一个数字列表(10,43,98,10,45,23,10)。我想将其转换为Array,因此我可以将此数组用于多个函数。请帮助我指出正确的方向。

var a:Array = Array[];
a.push(_numInput.text);//this is my input field name
//trace(a);

var l:Number = 0;
for(var i:uint=0; i< a.length; i++)
{
    var t1:Number = l += a[i]; 
    var t2:Number = a.length;   
    var t3:Number = t1 / t2; 
}   

 trace(t3); 
//when i trace the _numInput.text the number show up but i can not use them.

4 个答案:

答案 0 :(得分:0)

您需要将String投射到Integer !!

a.push(int(_numInput.text));

编辑:Ups,似乎我不太明白预编辑的问题

答案 1 :(得分:0)

使用split();将此类字符串转换为数组。

var a:Array = _numInput.text.split(",");

答案 2 :(得分:0)

如果你的文字字段中有逗号分隔的数字,那么以下是获取array的最简单方法,

 var str = "10,43,98,10,45,23,10";

 function convertTextFieldStringToArray(s:String):Array
 {
     var a = s.split(",");

     return a;
 }

 trace(convertTextFieldStringToArray(str));

答案 3 :(得分:0)

拆分字符串只会创建一个字符串数组
那么你需要做的是将该数组转换为int

数组
    public function mapIt(obj:Object, index:int, arr:Array):int {
        // validation might be a good idea here since this is user imputed text.
        return int(obj) // convert to int
    }

    // your input string
    var str:String = "10,43,98,10,45,23,10";

    // convert string to array of strings
    var arrayOfStrings:Array = str.split(",")

    trace( typeof arrayOfStrings[0])// verify first element is a string
    trace( arrayOfStrings[0] + arrayOfStrings[0]) // verify string concatination

    var arrayOfInt:Array = arrayOfStrings.map(mapIt) // map each element 
    trace( typeof arrayOfInt[0]) // verify first element is an int
    trace( arrayOfInt[0] + arrayOfInt[0]) // verify numbers are correctly added