String to number
- Number(str)
- parseInt(str,radix)
- ( + str )
- Math.floor()
- 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