我想知道如果数字小于10,是否可以在JavaScript中使用2位数字?
例如
10,9,8,7,6等以10,09,08,07,06为"数字数据类型"
是的,当数字小于10时,可以以2位数字显示数字作为"字符串数据类型".
if(number < 10) {
console.log(number) //number
number = "0" + number;
console.log(number) //string
}
Run Code Online (Sandbox Code Playgroud)
但我想用它作为数字数据类型,所以我可以使用
if(number == 01) {
//some code here
}
Run Code Online (Sandbox Code Playgroud)
可能吗?
ParseInt语法
parseInt(string,radix);
参数
string 要解析的值.如果string不是字符串,则将其转换为字符串(使用ToString抽象操作).字符串中的前导空格将被忽略.
radix 2到36之间的整数,表示上述字符串的基数(数学数字系统中的基数).为人类常用的十进制数字系统指定10.始终指定此参数以消除读者混淆并保证可预测的行为.当未指定基数时,不同的实现会产生不同的结果,通常将值默认为10.
不要做
var number = "09";
if(number == 09) { // here it will not compare the type check the == and ===
alert("OK: " + number)
} else {
alert("PROBLEM: " + number);
}
Run Code Online (Sandbox Code Playgroud)
正确答案
var number = "09";
var decimal = parseInt(number,10);
if(decimal === 09) {
alert("OK: " + decimal)
} else {
alert("PROBLEM: " + decimal);
}
Run Code Online (Sandbox Code Playgroud)
在控制台中检查一下
var first = 10 ;
var secn = "10";
first == secn // true because both are equal.
first === secn // both are not equal by type(string and number)
var result = parseInt("010", 10) == 10; // Returns true
var result = parseInt("010") == 10; // Returns false
Run Code Online (Sandbox Code Playgroud)
它与 parseInt 一起使用。默认情况下它的基数为 10。所以即使 09 也可以,但正如 @deceze 指出的那样,最好明确使用基数 10:
var number = "09";
var decimal = parseInt(number, 10);
if(decimal == 09) {
alert("OK: " + decimal)
} else {
alert("PROBLEM: " + decimal);
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5514 次 |
| 最近记录: |