字符串数字转换成 数值数字 最简单的方法是什么?
字符串数字转换成 数值数字 最简单的方法是什么?
a="123"
z=a+1 会变成1231
所以需要对a 进行数值转换
z=parseInt(a)+1
z=parseFloat(a)+1
z=a*1+1
哪个效率最高
[解决办法]
a="123"
z=+a+1;
alert(z);
可以这样试试 效率就不知道了
[解决办法]
a="123"
z=a+1 会变成1231
z = parseInt(a) + 1
用parseInt
[解决办法]
z=a*1+1
这个肯定是最高的啊,若语言类型强制转换,不需要调用其他函数,时间空间复杂度都是最低的。
[解决办法]
测试一下不就知道了。。不过这三个方法没有可比性,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');
[解决办法]
var a='1234';
var z=(a-0)+1; //z=1235
这种方法比较简单
[解决办法]
直接 parseInt(a,10) 吧
[解决办法]
额
“123”-0+1 你试试把 这个简单把
[解决办法]
parseInt