如何在 JavaScript 中将字符串“01”转换为数字?

新手上路,请多包涵

我想知道如果数字小于 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
}

但我想将它用作数字数据类型,这样我就可以使用

if(number == 01) {
    //some code here
}

可能吗?

原文由 ha_ryu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

ParseInt 语法

参考

parseInt(字符串,基数);

参数

字符串 要解析的值。如果字符串不是字符串,则将其转换为字符串(使用 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);
}

正确答案

var number = "09";
var decimal = parseInt(number,10);
if(decimal === 09) {
    alert("OK: " + decimal)
} else {
    alert("PROBLEM: " + decimal);
}

在控制台中检查

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

数字

Number JavaScript 对象是一个包装器对象,允许您使用数值。 Number 对象是使用 Number() 构造函数创建的。使用 Number() 函数创建原始类型对象编号。

例子

Number('123')     // 123
Number('12.3')    // 12.3
Number('12.00')   // 12
Number('123e-1')  // 12.3
Number('')        // 0
Number(null)      // 0
Number('0x11')    // 17
Number('0b11')    // 3
Number('0o11')    // 9
Number('foo')     // NaN
Number('100a')    // NaN
Number('-Infinity') //-Infinity

在此处输入图像描述

图片参考

原文由 Kaushik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题