JS 字符串轉數值

String to number

  1. Number(str)
  2. parseInt(str,radix)
  3. ( + str )
  4. Math.floor()
  5. Math.round()

Number(str)

  • 轉換字符爲數字,當字符串混有字母,純字母,字母+數字這樣的方式,將會返回NaN
  • 空字符串會轉換爲0
Number('123')     // 123
Number('12.3')    // 12.3
Number('')        // 0
Number('0x11')    // 17
Number('foo')     // NaN
Number('100a')    // NaN

parseInt,parseFloat

  • parseInt忽略第一個點號,解析到第二點號以前,能夠傳入基數
  • parseFloat會忽略第二個點
  • 空字符串會轉換爲NaN
  • 二者均忽略前面的0
parseInt('123')       // 123
parseInt('123.1')     // 123
parseInt('123.1.2')   // 123
parseInt('0123.1')    // 123
parseInt('0101' ,2)   // 5
parseInt('0101' ,10)  // 101
parseInt('')          // NaN   
parseFloat('')        // NaN   
parseFloat('123.1')   // 123.1   
parseFloat('123.1.2') // 123.1

+ str

var a = + '11'; // 11

Math.floor(), Math.round()

  • 自動轉換爲10進制數字
  • 傳入字符串的話也是返回NaN,這一點與Number()同樣
Math.floor('12')        // 12
Math.floor('12.1')      // 12
Math.round('12.1')       // 12
Math.round('12.1a')       // NaN
Math.round('deda')       // NaN

Reference

相關文章
相關標籤/搜索