JavaScript將數(shù)據(jù)轉(zhuǎn)換成整數(shù)的方法
JavaScript提供將數(shù)值轉(zhuǎn)成整數(shù)的方法parseInt,用于轉(zhuǎn)換字符串數(shù)據(jù)“123”,或者浮點數(shù)1.23。
parseInt("1"); // 1
parseInt("1.2"); // 1
parseInt("-1.2"); // -1
parseInt(1.2); // 1
parseInt(0); // 0
parseInt("0"); // 0
但是這個parseInt函數(shù)不是經(jīng)常有效:
parseInt('06'); // 6
parseInt('08'); // 0 注意,谷歌新版已修正
parseInt("1g"); // 1
parseInt("g1"); // NaN
為此,我寫了一個函數(shù)將任意數(shù)據(jù)轉(zhuǎn)換成整數(shù)。
function toInt(number) {
return number*1 | 0 || 0;
}
//test
toInt("1"); // 1
toInt("1.2"); // 1
toInt("-1.2"); // -1
toInt(1.2); // 1
toInt(0); // 0
toInt("0"); // 0
toInt(Number.NaN); // 0
toInt(1/0); // 0
這里還有網(wǎng)友寫的轉(zhuǎn)換函數(shù),也記下來提供參考,同樣適合將數(shù)據(jù)轉(zhuǎn)換成整數(shù)。
function toInt(number) {
return number && + number | 0 || 0;
}
注意了,以上兩個函數(shù)js能表示的整數(shù)有效范圍是 -1569325056 ~ 1569325056
為了在js中表達更大范圍的數(shù)值,我還寫了一個函數(shù)提供參考,如下:
function toInt(number) {
return Infinity === number ? 0 : (number*1 || 0).toFixed(0)*1;
}
相關(guān)文章
JS如何實現(xiàn)在頁面上快速定位(錨點跳轉(zhuǎn)問題)
本篇文章主要介紹了JS如何實現(xiàn)在頁面上快速定位(錨點跳轉(zhuǎn)問題),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08一篇文章教你用JavaScript使用流程控制打印九九乘法表
這篇文章主要為大家詳細介紹了JavaScript使用流程控制打印九九乘法表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02JavaScript實現(xiàn)正則去除a標簽并保留內(nèi)容的方法【測試可用】
這篇文章主要介紹了JavaScript實現(xiàn)正則去除a標簽并保留內(nèi)容的方法,結(jié)合實例形式詳細分析了javascript針對a標簽及span標簽的正則匹配相關(guān)操作技巧,需要的朋友可以參考下2018-07-07JavaScript樹形組件實現(xiàn)無限級樹形結(jié)構(gòu)
這篇文章主要介紹了JavaScript樹形組件實現(xiàn)無限級樹形結(jié)構(gòu),一種構(gòu)建多級有序樹形結(jié)構(gòu)JSON(或XML)數(shù)據(jù)源的方法,下面更多相關(guān)資料需要的小伙伴可以參考一下2022-03-03五步輕松實現(xiàn)JavaScript HTML時鐘效果
這篇文章主要為大家詳細介紹了五步輕松實現(xiàn)JavaScript HTML時鐘效果的代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11javascript另類方法實現(xiàn)htmlencode()與htmldecode()函數(shù)實例分析
這篇文章主要介紹了javascript另類方法實現(xiàn)htmlencode()與htmldecode()函數(shù),結(jié)合實例形式分析了javascript字符編碼與解碼操作的相關(guān)技巧,需要的朋友可以參考下2016-11-11