在JavaScript中,字串類型的數據是很常見的。在處理數據時,有時候需要將字串類型轉換成數值型,這時候就需要用到字串轉數值型的方法。本文將從幾個方面詳細介紹JavaScript中字串轉數值型的相關知識。
一、jsstring轉number的介紹
在JavaScript中,可以使用parseInt()和parseFloat()方法將字串轉換成數值型。
1、parseInt()
parseInt()方法將字串轉成整型。它接受兩個參數:要被轉換的字串和轉換使用的默認進位。默認進位是10,如果字串以0x開頭,將被解析為十六進位數。
var str1 = "123"; var str2 = "0x1a"; var num1 = parseInt(str1); var num2 = parseInt(str2); console.log(num1); //輸出:123 console.log(num2); //輸出:26
2、parseFloat()
parseFloat()方法將字串轉換成浮點型。轉換時遇到不能解析為浮點數的字元會停止轉換。
var str1 = "3.14"; var str2 = "314e-2"; var num1 = parseFloat(str1); var num2 = parseFloat(str2); console.log(num1); //輸出:3.14 console.log(num2); //輸出:3.14
二、jsstring轉date
在JavaScript中,可以使用Date對象將字串轉換成日期型。
1、將yyyy-mm-dd格式的字串轉換成日期型
使用Date.parse()方法可以將格式為yyyy-mm-dd的字串轉換為日期型。
var str = "2022-02-14"; var date = new Date(Date.parse(str)); console.log(date); //輸出:Mon Feb 14 2022 00:00:00 GMT+0800 (中國標準時間)
2、將yyyymmdd格式的字串轉換成日期型
使用substr()方法將yyyymmdd格式的字串拆分成年、月、日三個部分。使用Date對象中的setFullYear()、setMonth()、setDate()方法依次將年、月、日分別設置到Date對象中。
var str = "20220214"; var year = str.substr(0,4); var month = str.substr(4,2)-1; var day = str.substr(6,2); var date = new Date(); date.setFullYear(year); date.setMonth(month); date.setDate(day); console.log(date); //輸出:Mon Feb 14 2022 00:00:00 GMT+0800 (中國標準時間)
三、js string轉int
在JavaScript中,可以使用parseInt()方法將字串轉換成整型。
1、將16進位數字格式的字串轉換成整型
使用parseInt()方法的第二個參數指定進位,可以將16進位數字格式的字串轉換成整型。
var str = "1a"; var val = parseInt(str,16); console.log(val); //輸出:26
2、將8進位數字格式的字串轉換成整型
使用parseInt()方法的第二個參數指定進位為8,可以將8進位數字格式的字串轉換成整型。
var str = "16"; var val = parseInt(str,8); console.log(val); //輸出:14
3、將2進位數字格式的字串轉換成整型
使用parseInt()方法的第二個參數指定進位為2,可以將2進位數字格式的字串轉換成整型。
var str = "110"; var val = parseInt(str,2); console.log(val); //輸出:6
四、jsstring轉number的注意事項
在使用JavaScript中字串轉數值型的方法時,需要注意以下幾點:
1、parseFloat()方法在解析數字時不會檢測字串是否合法
如果解析到不能轉換映射成有限數字的字元時,parseFloat()會返回NaN。
var num = parseFloat("123.45hello"); console.log(num); //輸出:123.45
2、parseInt()方法在解析數字時檢測字串是否合法
如果解析到不能轉換映射成整數的字元時,parseInt()會返回NaN。
var num = parseInt("123.45"); console.log(num); //輸出:123
3、parseInt()方法在解析字串時要注意進位問題
如果不指定進位,字串被解析成10進位數。如果字串以0x開頭,將被解析為十六進位數。
var num1 = parseInt("010"); //輸出:10 var num2 = parseInt("0x10"); //輸出:16
4、Date.parse()方法只能處理格式為yyyy/mm/dd和mm/dd/yyyy的字串
如果字串不符合格式要求,Date.parse()會返回NaN。
var d1 = Date.parse("2022-02-14"); //輸出:NaN var d2 = Date.parse("2022/02/14"); //輸出:1644777600000
5、Date對象中的月份是0到11,所以需要將月份減一
在使用Date對象設置月份時,需要將月份減一。這是因為JavaScript中Date對象中的月份從0開始。
var date = new Date(); date.setMonth(1) //設置月份為2月 console.log(date); //輸出:Wed Feb 02 2022 16:39:16 GMT+0800 (中國標準時間)
總結
JavaScript中字串轉數值型是開發中經常用到的一種方法。在處理數據時,需要將字串轉換成數值型來進行計算。本文從jsstring轉number,jsstring轉date,js string轉int三個方面進行了詳細講解,同時給出了代碼示例,希望對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247732.html