遇到一个问题:
题目描述
修改 js 代码中 parseInt 的调用方式,使之实现:输入:'0x12',输出:0
源代码如下,原代码能实现,输入“12”输出12,输入“12px”输出“12”但是对上面的要求不符合。
function parse2Int(num) {
return parseInt(num);
}
修改如下:
function parse2Int(num) {
return parseInt(parseFloat(num));
}
字符转换的三种方法
js中parseInt()与parseFloat(),Number(),Boolean(),String()转换
js将字符串转数值的方法主要有三种:转换函数、强制类型转换、利用js变量弱类型转换。
1. 转换函数-parseInt()和parseFloat()
注:只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
parseInt()和parseFloat()方法都是从位置0开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字 符之前的字符串转换成数字。例如,如果要把字符串 "1234blue "转换成整数,那么parseInt()将返回1234,因为当它检测到字符b时,就会停止检测过程。
字符串中包含的数字字面量会被正确转换为数字,因此 字符串 "0xA "会被正确转换为数字10。
parseInt("1234blue