如何转换字符串" 01"用JavaScript编号?

时间:2016-01-29 10:08:44

标签: javascript

我想知道如果数字小于10,是否可以在JavaScript中使用2位数字?

例如

10,9,8,7,6等等 10,09,08,07,06 as"数字类型"

是的,当数字小于10时,可以显示2位数字作为"字符串数据类型"。

if(number < 10) {
    console.log(number) //number
    number = "0" + number;
    console.log(number) //string
}

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

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

有可能吗?

4 个答案:

答案 0 :(得分:6)

ParseInt语法

Reference

  

parseInt(string,radix);

     

参数

     

<强>字符串   要解析的值。如果string不是字符串,那么   它被转换为一个字符串(使用ToString抽象操作)。   字符串中的前导空格将被忽略。

     

基数之间的整数   图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

答案 1 :(得分:2)

它会起作用,但它不会做你想做的事。带前导零的数字是八进制数字的文字(位置编号系统,基数为8)。例如:

071 == 71
=> false

071 == 57
=> true

更多信息:http://www.w3schools.com/js/js_numbers.asp

答案 2 :(得分:1)

它适用于parseInt。默认情况下它的基数为10.所以即使09也没问题,但正如@deceze所指出的那样明确使用基数10更好:

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

答案 3 :(得分:0)

二进制或十进制01仍然是一个。

&#13;
&#13;
<!DOCTYPE html>
<html>

<head>
  <style>
    html,
    body {
      box-sizing: border-box;
      font: small-caps 500 16px/1.4'Consolas';
      width: 100vw;
      height: 100vh;
      background: #222;
      color: lime;
      line-height: 1;
    }
    *,
    *:before,
    *:after {
      box-sizing: inherit;
      margin: 0;
      padding: 0;
    }
    fieldset {
      margin: 1.5em auto;
      padding: 5px;
      min-width: 100px;
      max-width: 50%;
      border: 3px ridge green;
      border-radius: 8px;
    }
    legend {
      font-size: 1.5rem;
    }
    input {
      width: 3ch;
      padding: 2px 1px;
      border: 2px inset green;
      border-radius: 4px;
      background: #000;
      font-size: 1.1rem;
      color: lime;
      font: inherit;
    }
    #msg {
      color: #00FA9A;
    }
  </style>
</head>

<body>
  <fieldset>
    <legend>zer00ne</legend>
    <input id="inp1" oninput="bin(this.value);" />
    <input id="out1" readonly/>
    <span id="msg">Enter 01</span>
  </fieldset>
  <script>
    function bin(x) {
      var msg = document.getElementById('msg');
      var y = document.getElementById('out1');
      var z = parseInt(x, 2);
      y.value = z;
      msg.innerHTML += ", binary or decimal I'm number One";
    }
  </script>
</body>

</html>
&#13;
&#13;
&#13;