Actionscript将String转换为Int

gre*_*reg 10 string int actionscript

我正在使用Actionscript 2.0

在一个全新的场景中.我唯一的代码是:

    trace(int('04755'));
    trace(int('04812'));
Run Code Online (Sandbox Code Playgroud)

结果是:

  • 2541

  • 4812

知道我做错了什么/傻吗?

顺便说一句,我从XML获取这个源代码,它已经领先于0.此外,这在Actionscript 3中也很完美.

Rah*_*hai 29

在AS3中,您可以尝试:

parseInt('04755', 10)
Run Code Online (Sandbox Code Playgroud)

以上10是基数.

  • 就像我2个月前的回答,但我的回答被忽略了!太好了! (3认同)
  • @NickWiggill他们的关键区别是你的答案是Rahul使用了你所缺乏的基数论证.我也不知道为什么我如此天真地提供我现有的答案但是唉(我想这是3年前). (2认同)

Eng*_*eer 18

parseInt(yourString);
Run Code Online (Sandbox Code Playgroud)

......是正确的答案..parseInt()是一个顶级的功能.


Mar*_*rty 8

在ActionScript 2中将带前导0的字符串转换为数字假定您想要的数字是八进制.给我一个尝试的功能:

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
Run Code Online (Sandbox Code Playgroud)

基本上,你现在要做的是只是包装上面的字符串parse()函数,而不是int()Number()作为您通常会.