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)文章
IE6下出現(xiàn)JavaScript未結(jié)束的字符串常量錯誤的解決方法
JavaScript文件只在IE6下出錯(“未結(jié)束的字符串常量”)的解決辦法。2010-11-11
微信小程序云開發(fā)實現(xiàn)數(shù)據(jù)添加、查詢和分頁
這篇文章主要為大家詳細介紹了微信小程序云開發(fā)實現(xiàn)數(shù)據(jù)添加、查詢和分頁,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05
javascript中new Array()和var arr=[]用法區(qū)別
給大家分析一下在javascript中數(shù)組函數(shù)new Array()和var arr=[]用法區(qū)別,一起跟著學習一下吧。2017-12-12
js中confirm實現(xiàn)執(zhí)行操作前彈出確認框的方法
這篇文章主要介紹了js中confirm實現(xiàn)執(zhí)行操作前彈出確認框的方法,是執(zhí)行刪除等操作時常用的功能,非常具有實用價值,需要的朋友可以參考下2014-11-11
JavaScript 數(shù)組運用實現(xiàn)代碼
復習一下JS中數(shù)組的運用。學習js數(shù)組的朋友可以參考下。2010-04-04
JavaScript函數(shù)節(jié)流和函數(shù)防抖之間的區(qū)別
本文主要介紹了JavaScript函數(shù)節(jié)流和函數(shù)防抖之間的區(qū)別。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02

