输入文本改变一个整数? AS3

Input text changes an integer? AS3

我正在做一个 Collat​​z 猜想的小 AS3 函数。 这是代码:

import flash.events.Event;
import flash.events.MouseEvent;

var numb:int=0
var amount:int=0
button.addEventListener(MouseEvent.CLICK, buttonclick)
function buttonclick(buttonclicked:MouseEvent):void{
    numb=int(input.text)
    trace(numb)
    amount=0
}
stage.addEventListener(Event.ENTER_FRAME, equate)
function equate(equate:Event):void{
    dynam.text=amount.toString() + "\n" + numb.toString();;
    if(numb !=0 && numb !=1){
        if(numb % 2 == 0){
            numb=numb/2
            amount+=1
        }
        else{
            numb=numb*3+1
            amount+=1
        }
    }
}

但是,有时文本输入会变成负数。

123123123123变成-1430928461

12312312312321312变成-1715645152

以此类推

我不知道为什么,但我认为这与

有关
numb=int(input.text)

但是我不想做绝对值,因为那样的话方程会得出错误的结果。 如果你想让它停在负数上(并自己测试)这样做:

if(numb !=0 && numb !=1 && numb>1)

而不是

if(numb !=0 && numb !=1)

12312312312321312 turns into -1715645152

integer data type. Replace each int with Number 放不下那么多数字,然后重新测试。

即:var numb:Number=0;var amount:Number=0;numb=Number(input.text);