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

    原文作者:窗里窗外
    原文地址: https://segmentfault.com/a/1190000015068031
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞