首頁 > web前端 > js教程 > 主體

JavaScript中關於資料型別轉換的具體分析

黄舟
發布: 2017-08-08 13:50:07
原創
1357 人瀏覽過


JavaScript資料型別轉換

#顯示轉換

有三個函數可以把字串轉換為數值:Number()、parseInt()、parseFloat()。 Number()可以用於任何資料類型,而另外兩個函數則專門用於把字串轉換成數值。

1)Number()

如果字串為數值字串,則將其轉換為十進制數值。

如果字串中包含有效的十六進位格式,例如"0xf",則將其轉換為相同大小的十進位整數值。

如果字串為空字串或空格字串,則將其轉換為0。

如果字串中含有上述格式以外的字符,則將其轉換成NaN。

2)parseInt():傳回整數

parseInt()函數在轉換字串時,更多的是看其是否符合數值模式。它會忽略字串前面的空格,直到找到第一個非空格字元。如果第一個字元不是數字字元或負號,parseInt()就會傳回NaN,如果是空字串,則會傳回NaN。如果第一個字符是數字字符,parseInt()會繼續解析第二個字符,直到解析完所有後續字符或遇到非數字字符。

3)parseFloat():傳回浮點數

parseFloat()可以回傳小數。 parseFloat()轉換的時候,也是從第一個字符開始解析每個字符,直到解析到字符串末尾,或者解析到遇見一個無效的浮點數字字符為止,也就是說,字符串中的第一個小數點是有效的,而第二個小數點就是無效的。

4)toString():其它型別—>字串

十進位轉換成二進位

#範例:

var a = 302;
console.log(a.toString(2));
toString( )<括号里面的数字是几就转换成几进制>
登入後複製

把其他型別變數轉換成字串,我們通常使用toString()方法。數值、布林值、物件和字串都有toString()方法,但null和undefined沒有這個方法。我們也可以使用轉型函數String(),這個函數能夠將任何類型的值轉換成字串。當toString可以透過輸入基數以二進位、八進位、十六進位,乃至其他有效的進位格式表示字串。

例如:

console.log(a.toString()); // "123"
console.log(bool.toString()); // "true"
登入後複製

5)toFixed(n):保留n位元小數(輸出類型:string)

var pi = 0.45;   //0.95对toFixed有疑问为0.9
alert(Math.round(pi));  //round四舍五入取整
alert(pi.toFixed(1));   // 四舍五入为指定小数位数的数字。
登入後複製

輸出類型:string

#

解释:

toFixed它是一个四舍六入五成双的诡异的方法,"四舍六入五成双"含义:对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5不进;②5前为偶数,舍5入1。

兼容:

var a = "070";
alert(typeof parseInt(a));
alert(parseInt(a));
IE6-7-8:56(八进制计算)
登入後複製

谷歌正常 70;

处理兼容:(a, 10),强制几进制输出!

隐式转换

隐式转换的方式可以通过+""、* 1、/ 1的运算来把数值转换成字符串。(可相互)

数字——字符串: 数字 +(连字符)<数字+字符串=字符串>

字符串——数字: + - * / %

"123"-0 "123"*0 "123"/0 +"123" "123"%比前面的数值字符串大的数字;

显式转换是通过函数的形式,将字符串转换成数组的形式,隐式转换则是通过运算符的方式将字符串转换成数字的形式。

总结:

显示转换:

1)Number()

2)parseInt():返回整数

3)parseFloat():返回浮点数

4)toString():其它类型—>字符串

5)toFixed(n):保留n位小数(输出类型:string)

隐式转换:

数字转换为字符串:+ ""

var str =  数字 + "";
登入後複製

字符串转数字:

var strs =  + - * / %“数字”;
登入後複製

以上是JavaScript中關於資料型別轉換的具體分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!