最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中將字符串轉(zhuǎn)換為數(shù)字的七種方法總結(jié)

 更新時(shí)間:2022年09月03日 12:08:07   作者:allway2  
在js的使用中往往伴隨著有格式帶來的問題,下面這篇文章主要給大家介紹了關(guān)于JavaScript中將字符串轉(zhuǎn)換為數(shù)字的七種方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 使用 parseInt()

parseInt()解析一個(gè)字符串并返回一個(gè)整數(shù)。允許空格。僅返回第一個(gè)數(shù)字。

這種方法雖然有一個(gè)限制。如果您解析十進(jìn)制數(shù),它將四舍五入到最接近的整數(shù)值,并將該值轉(zhuǎn)換為string??赡苄枰褂?code>parseFloat()方法進(jìn)行文字轉(zhuǎn)換。

myString = '129' 
console.log(parseInt(myString)) // expected result: 129
 
a = 12.22
console.log(parseInt(a)) // expected result: 12

2. 使用 Number()

Number()可用于將 JavaScript 變量轉(zhuǎn)換為數(shù)字。我們可以用它來轉(zhuǎn)換字符串太數(shù)字。

如果該值不能轉(zhuǎn)換為數(shù)字,NaN則返回。

Number("10"); // returns 10Number(" 10 "); // returns 10Number("10.33"); // returns 10.33

3. 使用一元運(yùn)算符 (+)

一元加號運(yùn)算符 ( +) 在其操作數(shù)之前并計(jì)算其操作數(shù),但如果尚未將其轉(zhuǎn)換為數(shù)字,則嘗試將其轉(zhuǎn)換為數(shù)字。

const x = 25;
const y = -25;
console.log(+x); // expected output: 25
console.log(+y); // expected output: -25
console.log(+''); // expected output: 0

4.使用parseFloat()

parseFloat()解析一個(gè)字符串并返回一個(gè)數(shù)字。允許空格。僅返回第一個(gè)數(shù)字。

parseFloat("10");        // returns 10
parseFloat("10.33");     // returns 10.33
parseFloat("10 20 30");  // returns 10
parseFloat("10 years");  // returns 10
parseFloat("years 10");  // returns NaN

5. 使用 Math.floor()

Math.floor()函數(shù)返回小于或等于給定數(shù)字的最大整數(shù)。這對于十進(jìn)制數(shù)字可能有點(diǎn)棘手,因?yàn)樗鼘⒆罱咏恼麛?shù)的值返回為Number。

str = '1222'
console.log(Math.floor(str)) // returns 1222
 
a = 12.22
Math.floor(a) // expected result: 12

6.乘以數(shù)字

將字符串值乘以1不會改變值,并且默認(rèn)情況下它會轉(zhuǎn)換為數(shù)字。

str = '2344'
console.log(str * 1) // expected result: 2344

7. 雙波浪號 (~~) 運(yùn)算符

我們可以使用雙波浪號運(yùn)算符將字符串轉(zhuǎn)換為數(shù)字。

str = '1234'
console.log(~~str) // expected result: 1234
negStr = '-234'
console.log(~~negStr) // expected result: -234

這是性能方面提到的方式的比較。

補(bǔ)充:js 強(qiáng)制轉(zhuǎn)換 為數(shù)字類型

/*
 * 將其他的數(shù)據(jù)類型轉(zhuǎn)換為Number
 *      轉(zhuǎn)換方式一:
 *         使用Number()函數(shù)
 *             - 字符串 --> 數(shù)字
 *                 1.如果是純數(shù)字的字符串,則直接將其轉(zhuǎn)換為數(shù)字
 *                 2.如果字符串中有非數(shù)字的內(nèi)容,則轉(zhuǎn)換為NaN
 *                 3.如果字符串是一個(gè)空串或者是一個(gè)全是空格的字符串,則轉(zhuǎn)換為0
 *             - 布爾 --> 數(shù)字
 *                 true 轉(zhuǎn)成 1
 *                 false 轉(zhuǎn)成 0
 *
 *             - null --> 數(shù)字     0
 *
 *             - undefined --> 數(shù)字 NaN
 *
 * 轉(zhuǎn)換方式二:
 *         - 這種方式專門用來對付字符串
 *         - parseInt() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)整數(shù)
 *         - parseFloat() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)
 */
 
var a = "123";
 
//調(diào)用Number()函數(shù)來將a轉(zhuǎn)換為Number類型
a = Number(a);
 
a = false;
a = Number(a);
 
a = null;
a = Number(a);
 
a = undefined;
a = Number(a);
 
a = "123567a567px";
//調(diào)用parseInt()函數(shù)將a轉(zhuǎn)換為Number
/*
 * parseInt()可以將一個(gè)字符串中的有效的整數(shù)內(nèi)容去出來,
 *     然后轉(zhuǎn)換為Number
 */
a = parseInt(a);
 
/*
 * parseFloat()作用和parseInt()類似,不同的是它可以獲得有效的小數(shù)
 */
a = "123.456.789px";
a = parseFloat(a);
 
/*
 * 如果對非String使用parseInt()或parseFloat()
 *     它會先將其轉(zhuǎn)換為String然后在操作
 */
a = true;
a = parseInt(a);
 
a = 198.23;
a = parseInt(a);
 
console.log(typeof a);
console.log(a);
 
/*
 * 在js中,如果需要表示16進(jìn)制的數(shù)字,則需要以0x開頭
 *             如果需要表示8進(jìn)制的數(shù)字,則需要以0開頭
 *             如果要要表示2進(jìn)制的數(shù)字,則需要以0b開頭
 *                 但是不是所有的瀏覽器都支持
 *     
 */
 
//十六進(jìn)制
a = 0x10;
a = 0xff;
a = 0xCafe;
 
//八進(jìn)制數(shù)字
a = 070;
 
//二進(jìn)制數(shù)字
//a = 0b10;
 
//向"070"這種字符串,有些瀏覽器會當(dāng)成8進(jìn)制解析,有些會當(dāng)成10進(jìn)制解析
a = "070";
 
//可以在parseInt()中傳遞一個(gè)第二個(gè)參數(shù),來指定數(shù)字的進(jìn)制
a = parseInt(a,10);
 
console.log(typeof a);
console.log(a);

總結(jié)

到此這篇關(guān)于JavaScript中將字符串轉(zhuǎn)換為數(shù)字的七種方法的文章就介紹到這了,更多相關(guān)js字符串轉(zhuǎn)換為數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

麻栗坡县| 西安市| 宁波市| 华蓥市| 宝鸡市| 朝阳区| 辽源市| 牙克石市| 昌平区| 淳化县| 会同县| 德庆县| 当涂县| 呼图壁县| 尉犁县| 漯河市| 承德县| 东兰县| 江都市| 尼玛县| 巴青县| 来安县| 共和县| 苍南县| 堆龙德庆县| 中江县| 尚义县| 恩施市| 乌鲁木齐县| 临澧县| 阳原县| 新乡市| 石屏县| 读书| 甘洛县| 乌拉特后旗| 南溪县| 连南| 霍林郭勒市| 纳雍县| 丰台区|