字符串数字转换成 数值数字 最简单的方法是什么?
a="123"
z=a+1  会变成1231所以需要对a 进行数值转换
z=parseInt(a)+1
z=parseFloat(a)+1
z=a*1+1哪个效率最高

解决方案 »

  1.   

    a="123"
    z=+a+1;
    alert(z);
    可以这样试试  效率就不知道了
      

  2.   

    a="123"
    z=a+1 会变成1231z = parseInt(a) + 1用parseInt
      

  3.   

    测试一下不就知道了。。不过这三个方法没有可比性,parseFloat与*1的方法实现的是同样的功能,跟parseInt就实现的功能就不一样的,没有可比性。//建立测试数据
    var ar = [];
    for (var i = 0; i < 999999; i ++) ar.push(i.toString());var dStart, dEnd, result = [];//parseInt()方法
    dStart = new Date();
    for (var i = 0; i < ar.length; i ++) ar[i] = parseInt(ar[i]);
    dEnd = new Date();
    result.push(dEnd.getTime() - dStart.getTime());//parseFloat()方法
    dStart = new Date();
    for (var i = 0; i < ar.length; i ++) ar[i] = parseFloat(ar[i]);
    dEnd = new Date();
    result.push(dEnd.getTime() - dStart.getTime());//*1方法
    dStart = new Date();
    for (var i = 0; i < ar.length; i ++) ar[i] *= 1;
    dEnd = new Date();
    result.push(dEnd.getTime() - dStart.getTime());document.write('<p>parseInt方法耗时:' + result[0] + 'ms<br />parseFloat方法耗时:' + result[1] + 'ms<br />乘1方法耗时:' + result[2] + 'ms');
      

  4.   

    var a='1234';
    var z=(a-0)+1; //z=1235
    这种方法比较简单