web-dev-qa-db-ja.com

Actionscript文字列をIntに変換

Actionscript2.0を使用しています

真新しいシーンで。私のコードは次のとおりです。

    trace(int('04755'));
    trace(int('04812'));

結果:

  • 2541

  • 4812

私が間違っている/愚かなことをしているという考えはありますか?

ちなみに、このソース番号はXMLから取得していますが、すでに先頭に0が付いています。また、これはActionscript3でも完全に機能します。

10
greg

先行する0の文字列をActionScript2の数値に変換すると、必要な数値は8進数であると想定されます。私があなたのために作ったこの関数を試してみてください:

_var val:String = '00010';

function parse(str:String):Number
{
    for(var i = 0; i < str.length; i++)
    {
        var c:String = str.charAt(i);
        if(c != "0") break;
    }

    return Number(str.substr(i));
}

trace(parse(val)); // 10
trace(parse(val) + 10); // 20
_

基本的に、今やりたいことは、通常のようにparse()またはint()ではなく、上記のNumber()関数で文字列をラップすることです。

8
Marty

AS3では、次のことを試すことができます。

parseInt('04755', 10)

上記の10は基数です。

28
Rahul Singhai
_parseInt(yourString);
_

...正解です。 .parseInt() はトップレベルの関数です。

18
Engineer

簡単なもののビット...

これを試して -

temp="120";
temp2="140";
temp3=int ( temp );
temp4=int ( temp2 );
temp5=temp4+temp3;
trace(temp5);

だから、必要なのは...

int("190");
0
Jakir Hossen