javascript
023_JavaScript数字方法
1. toString()方法
1.1. toString()方法可把一個數值轉換為一個字符串, 并返回結果。
1.2. 語法
numberObject.toString(radix)1.3. 參數
1.4. Number類型的toString()方法比較特殊, 它有兩種模式, 即默認模式和基模式。采用默認模式, toString()方法只是用相應的字符串輸出數字值, 如下所示:
var num = 10; window.alert(num.toString()); // 輸出"10"1.5. 采用Number類型的toString()方法的基模式, 可以用不同的基輸出數字, 例如二進制的基是2, 八進制的基是8, 十六進制的基是16。如下所示:
var num = -123; window.alert(num.toString(2)); // 輸出"-1111011" window.alert(num.toString(8)); // 輸出"-173" window.alert(num.toString(16)); // 輸出"-7b"1.6. 負整數轉換成二進制字符串后, JavaScript并不以二進制補碼的形式顯示, 而是用數字絕對值的標準二進制代碼前面加負號的形式輸出。
1.7. 對數字調用toString(10)與調用toString()相同, 它們返回的都是該數字的十進制形式。
1.8. 例子
1.8.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>JavaScript數字-toString()方法</title></head><body><script type="text/javascript">var x = -123; var y = x.toString();var z = x.toString(2);var i = x.toString(8);var j = x.toString(10);var k = x.toString(16);document.write('x = ' + x + ', x的數據類型是: ' + typeof x + '<br />');document.write('y = ' + y + ', y的數據類型是: ' + typeof y + '<br />');document.write('z = ' + z + ', z的數據類型是: ' + typeof z + '<br />');document.write('i = ' + i + ', i的數據類型是: ' + typeof i + '<br />');document.write('j = ' + j + ', j的數據類型是: ' + typeof j + '<br />');document.write('k = ' + k + ', k的數據類型是: ' + typeof k + '<br />');</script></body> </html>1.8.2. 效果圖
2. toExponential()方法
2.1. toExponential()返回字符串值, 把數字四舍五入為指定小數位數并使用指數計數法的數字。
2.2. ?語法
numberObject.toExponential(num)2.3. 參數
2.4. 該參數是可選的, 定義小數點后的字符數。如果您沒有設置它, JavaScript不會對數字進行舍入, 使用盡可能多的數字, 但依然用指數計數法表示數。
2.5. 返回值是numberObject的字符串表示, 采用指數計數法, 即小數點之前有一位數字, 小數點之后有num位數字。該數字的小數部分將被舍入, 必要時用0補足, 以便它達到指定的長度。
2.6. 例子
2.6.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>JavaScript數字-toExponential()方法</title></head><body><script type="text/javascript">var x = 300.1415926; var y = x.toExponential();var z = x.toExponential(0);var j = x.toExponential(4);var k = x.toExponential(8);var l = x.toExponential(10);document.write('x = ' + x + ', x的數據類型是: ' + typeof x + '<br />');document.write('y = ' + y + ', y的數據類型是: ' + typeof y + '<br />');document.write('z = ' + z + ', z的數據類型是: ' + typeof z + '<br />');document.write('j = ' + j + ', j的數據類型是: ' + typeof j + '<br />');document.write('k = ' + k + ', k的數據類型是: ' + typeof k + '<br />');document.write('l = ' + l + ', l的數據類型是: ' + typeof l + '<br />');</script></body> </html>2.6.2. 效果圖
3. toFixed()方法
3.1. toFixed()返回字符串值, 把數字四舍五入為指定小數位數的數字。
3.2. 語法
numberObject.toFixed(num)3.3. 參數
3.4. 該參數是可選的, 定義小數點后的字符數。如果您沒有設置它, 默認值是0。
3.5. 返回值是numberObject的字符串表示, 不采用指數計數法, 小數點后有固定的num 位數字。如果必要, 該數字會被舍入, 也可以用0補足, 以便它達到指定的長度。
3.6. toFixed(2)非常適合處理金錢。
3.7. 例子
3.7.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>JavaScript數字-toFixed()方法</title></head><body><script type="text/javascript">var x = 300.1415926; var y = x.toFixed();var z = x.toFixed(0);var j = x.toFixed(2);var k = x.toFixed(6);var l = x.toFixed(10);document.write('x = ' + x + ', x的數據類型是: ' + typeof x + '<br />');document.write('y = ' + y + ', y的數據類型是: ' + typeof y + '<br />');document.write('z = ' + z + ', z的數據類型是: ' + typeof z + '<br />');document.write('j = ' + j + ', j的數據類型是: ' + typeof j + '<br />');document.write('k = ' + k + ', k的數據類型是: ' + typeof k + '<br />');document.write('l = ' + l + ', l的數據類型是: ' + typeof l + '<br />');</script></body> </html>3.6.2. 效果圖
4. toPrecision()方法
4.1. toPrecision()返回字符串值, 把數字四舍五入為指定位數并使用指定計數法的數字。
4.2. 語法
numberObject.toPrecision(num)4.3. 參數
4.4. 該參數是可選的, 定義指數計數法最小位數。如果您沒有設置它, 僅僅是調用toString()方法。
4.5. 返回numberObject的字符串表示, 包含num個有效數字。如果num足夠大, 能夠包括 numberObject整數部分的所有數字, 那么返回的字符串將采用定點計數法。否則, 采用指數計數法, 即小數點前有一位數字, 小數點后有num-1位數字。必要時, 該數字會被舍入或用0補足。
4.6. 例子
4.6.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>JavaScript數字-toPrecision()方法</title></head><body><script type="text/javascript">var x = 300.1415926; var y = x.toPrecision();var z = x.toPrecision(1);var j = x.toPrecision(4);var k = x.toPrecision(9);var l = x.toPrecision(12);document.write('x = ' + x + ', x的數據類型是: ' + typeof x + '<br />');document.write('y = ' + y + ', y的數據類型是: ' + typeof y + '<br />');document.write('z = ' + z + ', z的數據類型是: ' + typeof z + '<br />');document.write('j = ' + j + ', j的數據類型是: ' + typeof j + '<br />');document.write('k = ' + k + ', k的數據類型是: ' + typeof k + '<br />');document.write('l = ' + l + ', l的數據類型是: ' + typeof l + '<br />');</script></body> </html>4.6.2. 效果圖
5. parseInt()方法
5.1. parseInt()解析一段字符串并返回整數。
5.2. 語法
parseInt(string, radix)5.3. 參數
5.4. parseInt()首先查看位置0處的字符, 判斷它是否是個有效數字; 如果不是, 該方法將返回NaN, 不再繼續執行其他操作。但如果該字符是有效數字, 該方法將查看位置1處的字符, 進行同樣的測試。這一過程將持續到發現非有效數字的字符為止, 此時parseInt()將把該字符之前的字符串轉換成數字?;蛘哒麄€字符串都是有效數字, 把整個字符串都轉成數字。
5.5.?整數的有效字符串包括, 數字前導的正負號(+或-)、八進制前導0、十六進制前導0x和數字(二進制只認識0-1, 八進制認識0-7, 十進制認識0-9, 十六進制認識0-F)。科學記數法中的指數(e或E)是非法的。
5.6. 如果無法轉換為數值, 則返回NaN。parseInt()只能處理字符串, 其它類型都返回NaN。
5.7. parseInt()方法還有基模式, 可以把二進制、八進制、十六進制或其他任何進制的字符串轉換成整數。基是由parseInt()方法的第二個參數指定的。
var num1 = parseInt("10", 2); // 返回 2 var num2 = parseInt("10", 8); // 返回 8 var num3 = parseInt("10", 10); // 返回 10 var num4 = parseInt("AF", 16); // 返回 1755.8. parseInt()方法不使用基模式, 會把八進制(以0開頭)字符串類型數字按照十進制轉換成整數。
5.9. parseInt()方法不使用基模式, 會把十六進制(以0x開頭)字符串類型數字正確的轉換成十進制整數。
5.10. 開頭和結尾的空格是允許的。
5.11. parseInt()方法并非數字方法, 而是全局JavaScript方法。
6. parseFloat()方法
6.1. parseFloat()解析一段字符串并返回浮點數。
6.2. 語法
parseFloat(string)6.3. 參數
6.4.parseFloat()方法與parseInt()方法的處理方式相似, 從位置0開始查看每個字符, 直到找到第一個非有效的字符為止, 然后把該字符之前的字符串轉換成浮點數。不過, 對于這個方法來說, 第一個出現的小數點是有效字符。
6.5.?浮點數的有效字符串包括, 數字前導的正負號(+或-)、數字(0-9)、小數點, 或者科學記數法中的指數(e或E)。
6.6. 如果無法轉換為數值, 則返回NaN。只能處理字符串, 其它類型都返回NaN。
6.7. parseFloat()方法也沒有基模式。
6.8. parseFloat()方法的另一不同之處在于, 字符串必須以十進制形式表示浮點數, 而不是用八進制或十六進制。八進制字符串類型數字, parseFloat()方法會忽略前導0, 按照十進制轉換成浮點數。十六進制字符串類型數字, parseFloat()方法認為x不是有效字符, 最終轉換成0。
6.9. 開頭和結尾的空格是允許的。
6.10. parseFloat()方法并非數字方法, 而是全局JavaScript方法。
6.11. 例子
6.11.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>JavaScript數字-parseInt()和parseFloat()方法</title></head><body><script type="text/javascript">var x = '+12.34'; var y = '-12.34#&*';var z = '-012.34';var j = '012#&*';var k = '-0x12.34';var l = '0x12#&*';var m = '#&*12.34';var n = '3.1415926e7';var o = '1414E3';document.write('x = ' + x + ', parseInt(x, 2)后x = ' + parseInt(x, 2) + ', parseInt(x, 2)后x的數據類型是: ' + typeof parseInt(x, 2) + '<br />');document.write('x = ' + x + ', parseInt(x, 8)后x = ' + parseInt(x, 8) + ', parseInt(x, 8)后x的數據類型是: ' + typeof parseInt(x, 8) + '<br />');document.write('x = ' + x + ', parseInt(x)后x = ' + parseInt(x) + ', parseInt(x)后x的數據類型是: ' + typeof parseInt(x) + '<br />');document.write('x = ' + x + ', parseInt(x, 10)后x = ' + parseInt(x, 10) + ', parseInt(x, 10)后x的數據類型是: ' + typeof parseInt(x, 10) + '<br />');document.write('x = ' + x + ', parseInt(x, 16)后x = ' + parseInt(x, 16) + ', parseInt(x, 16)后x的數據類型是: ' + typeof parseInt(x, 16) + '<br />');document.write('y = ' + y + ', parseInt(y, 2)后y = ' + parseInt(y, 2) + ', parseInt(y, 2)后y的數據類型是: ' + typeof parseInt(y, 2) + '<br />');document.write('y = ' + y + ', parseInt(y, 8)后y = ' + parseInt(y, 8) + ', parseInt(y, 8)后y的數據類型是: ' + typeof parseInt(y, 8) + '<br />');document.write('y = ' + y + ', parseInt(y)后y = ' + parseInt(y) + ', parseInt(y)后y的數據類型是: ' + typeof parseInt(y) + '<br />');document.write('y = ' + y + ', parseInt(y, 10)后y = ' + parseInt(y, 10) + ', parseInt(y, 10)后y的數據類型是: ' + typeof parseInt(y, 10) + '<br />');document.write('y = ' + y + ', parseInt(y, 16)后y = ' + parseInt(y, 16) + ', parseInt(y, 16)后y的數據類型是: ' + typeof parseInt(y, 16) + '<br />');document.write('z = ' + z + ', parseInt(z, 2)后z = ' + parseInt(z, 2) + ', parseInt(z, 2)后z的數據類型是: ' + typeof parseInt(z, 2) + '<br />');document.write('z = ' + z + ', parseInt(z, 8)后z = ' + parseInt(z, 8) + ', parseInt(z, 8)后z的數據類型是: ' + typeof parseInt(z, 8) + '<br />');document.write('z = ' + z + ', parseInt(z)后z = ' + parseInt(z) + ', parseInt(z)后z的數據類型是: ' + typeof parseInt(z) + '<br />');document.write('z = ' + z + ', parseInt(z, 10)后z = ' + parseInt(z, 10) + ', parseInt(z, 10)后z的數據類型是: ' + typeof parseInt(z, 10) + '<br />');document.write('z = ' + z + ', parseInt(z, 16)后z = ' + parseInt(z, 16) + ', parseInt(z, 16)后z的數據類型是: ' + typeof parseInt(z, 16) + '<br />');document.write('j = ' + j + ', parseInt(j, 2)后j = ' + parseInt(j, 2) + ', parseInt(j, 2)后j的數據類型是: ' + typeof parseInt(j, 2) + '<br />');document.write('j = ' + j + ', parseInt(j, 8)后j = ' + parseInt(j, 8) + ', parseInt(j, 8)后j的數據類型是: ' + typeof parseInt(j, 8) + '<br />');document.write('j = ' + j + ', parseInt(j)后j = ' + parseInt(j) + ', parseInt(j)后j的數據類型是: ' + typeof parseInt(j) + '<br />');document.write('j = ' + j + ', parseInt(j, 10)后j = ' + parseInt(j, 10) + ', parseInt(j, 10)后j的數據類型是: ' + typeof parseInt(j, 10) + '<br />');document.write('j = ' + j + ', parseInt(j, 16)后j = ' + parseInt(j, 16) + ', parseInt(j, 16)后j的數據類型是: ' + typeof parseInt(j, 16) + '<br />');document.write('k = ' + k + ', parseInt(k, 2)后k = ' + parseInt(k, 2) + ', parseInt(k, 2)后k的數據類型是: ' + typeof parseInt(k, 2) + '<br />');document.write('k = ' + k + ', parseInt(k, 8)后k = ' + parseInt(k, 8) + ', parseInt(k, 8)后k的數據類型是: ' + typeof parseInt(k, 8) + '<br />');document.write('k = ' + k + ', parseInt(k)后k = ' + parseInt(k) + ', parseInt(k)后k的數據類型是: ' + typeof parseInt(k) + '<br />');document.write('k = ' + k + ', parseInt(k, 10)后k = ' + parseInt(k, 10) + ', parseInt(k, 10)后k的數據類型是: ' + typeof parseInt(k, 10) + '<br />');document.write('k = ' + k + ', parseInt(k, 16)后k = ' + parseInt(k, 16) + ', parseInt(k, 16)后k的數據類型是: ' + typeof parseInt(k, 16) + '<br />');document.write('l = ' + l + ', parseInt(l, 2)后l = ' + parseInt(l, 2) + ', parseInt(l, 2)后l的數據類型是: ' + typeof parseInt(l, 2) + '<br />');document.write('l = ' + l + ', parseInt(l, 8)后l = ' + parseInt(l, 8) + ', parseInt(l, 8)后l的數據類型是: ' + typeof parseInt(l, 8) + '<br />');document.write('l = ' + l + ', parseInt(l)后l = ' + parseInt(l) + ', parseInt(l)后l的數據類型是: ' + typeof parseInt(l) + '<br />');document.write('l = ' + l + ', parseInt(l, 10)后l = ' + parseInt(l, 10) + ', parseInt(l, 10)后l的數據類型是: ' + typeof parseInt(l, 10) + '<br />');document.write('l = ' + l + ', parseInt(l, 16)后l = ' + parseInt(l, 16) + ', parseInt(l, 16)后l的數據類型是: ' + typeof parseInt(l, 16) + '<br />');document.write('m = ' + m + ', parseInt(m)后m = ' + parseInt(m) + ', parseInt(m)后m的數據類型是: ' + typeof parseInt(m) + '<br />');document.write('n = ' + n + ', parseInt(n)后n = ' + parseInt(n) + ', parseInt(n)后n的數據類型是: ' + typeof parseInt(n) + '<br />');document.write('o = ' + o + ', parseInt(o)后o = ' + parseInt(o) + ', parseInt(o)后o的數據類型是: ' + typeof parseInt(o) + '<br /><hr />');document.write('x = ' + x + ', parseFloat(x)后x = ' + parseFloat(x) + ', parseFloat(x)后x的數據類型是: ' + typeof parseFloat(x) + '<br />');document.write('y = ' + y + ', parseFloat(y)后y = ' + parseFloat(y) + ', parseFloat(y)后y的數據類型是: ' + typeof parseFloat(y) + '<br />');document.write('z = ' + z + ', parseFloat(z)后z = ' + parseFloat(z) + ', parseFloat(z)后z的數據類型是: ' + typeof parseFloat(z) + '<br />');document.write('j = ' + j + ', parseFloat(j)后j = ' + parseFloat(j) + ', parseFloat(j)后j的數據類型是: ' + typeof parseFloat(j) + '<br />');document.write('k = ' + k + ', parseFloat(k)后k = ' + parseFloat(k) + ', parseFloat(k)后k的數據類型是: ' + typeof parseFloat(k) + '<br />');document.write('l = ' + l + ', parseFloat(l)后l = ' + parseFloat(l) + ', parseFloat(l)后l的數據類型是: ' + typeof parseFloat(l) + '<br />');document.write('m = ' + m + ', parseFloat(m)后m = ' + parseFloat(m) + ', parseFloat(m)后m的數據類型是: ' + typeof parseFloat(m) + '<br />');document.write('n = ' + n + ', parseFloat(n)后n = ' + parseFloat(n) + ', parseFloat(n)后n的數據類型是: ' + typeof parseFloat(n) + '<br />');document.write('o = ' + o + ', parseFloat(o)后o = ' + parseFloat(o) + ', parseFloat(o)后o的數據類型是: ' + typeof parseFloat(o) + '<br />');</script></body> </html>6.11.2. 效果圖
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的023_JavaScript数字方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 022_JavaScript数字
- 下一篇: 024_JavaScript数组