JS字符串数字互转
JS是一种弱类型的脚本语言,为变量赋值是会自动转换为相应的类型,例如:
var a = 1; alert(a + 1);//结果为2 自动识别为数字类型进行数学运算 var b = '1'; alert(b + 1);//结果为11 自动识别为字符类型进行连接操作但在某些情况我们在对数字类型的变量进行字符连接操作后,变量就转化为字符类型了,例如:var c = 1; alert(c += '');//结果为1 但此时c的类型一变成字符型此时如果我们需要把c转化为数字类型就需要用到parseInt函数把字符转化为整数,例如:
var d = ‘123’; alert(d + 1);//结果为1231 alert(parseInt(d) + 1);//结果为124 已经转化为数字类型,可以进行数学运算了parseInt函数还有一个可选参数radix用于指定要转换字符的基数,为0或为空时将根据字符串来判断数字的基数;出现非数字字符(首字符可以为减号)将返回NaN。例子:parseInt("19", 10); // 返回 19 (10 + 9) parseInt("11", 2); // 返回 3 (2 + 1) parseInt("17", 8); // 返回 15 (8 + 7) parseInt("1f", 16); // 返回 31 (16 + 15) parseInt("10"); // 返回 10 parseInt("0x10"); // 返回 16 parseInt("010"); //返回10或8 在没有指定radix时,ECMAScriptV3允许实现将以“0”(但不是 “OX” //或“OX”) 开头的字符串解析为八进制或十进制的数,要避免这种二义性,应该明确指定基数。
相应的还有parseFloat,把字符解析为数字,例如:
parseFloat('1.2'); //结果1.2
海阔凭鱼跃,天高任鸟飞!
本文来自博客园,作者:铁皮鸭子,转载请注明原文链接:https://www.cnblogs.com/barros/p/3789040.html