亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript parseInt0.0000005打印5原理解析

 更新時間:2022年07月23日 11:43:45   作者:nanfeiyan  
這篇文章主要為大家介紹了JavaScript parseInt0.0000005打印5原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

最近,我在開發(fā)項目時遇到了一個奇怪的問題,parseInt (0.0000005) === 5??。通常,輸出 0 才是正確的,但為什么是 5?讓我們一起探討這個問題。

1.什么時候使用parseInt?

首先,您通常什么時候使用parseInt?大多數(shù)時候,我們使用它來解析字符串并返回它的整數(shù)部分。帶著這個問題,我們來看看parseInt方法。

2.關于parseInt的一些事情

根據(jù) MDN文檔,“parseInt(string, radix) 函數(shù)解析字符串參數(shù)并返回指定基數(shù)(數(shù)學數(shù)字系統(tǒng)中的基數(shù))的整數(shù)。”

語法

parseInt(string)
parseInt(string, radix)

例子

parseInt('0.5') // 0
parseInt('0.5') // 0
parseInt('0.05') // 0
parseInt('0.005') // 0
parseInt('0.0005') // 0
parseInt('0.00005') // 0
parseInt('0.000005') // 0
parseInt('015') // 15
parseInt('015', 8) // 13
parseInt('15px', 10) // 15

3. parseInt 是如何轉換數(shù)字的?

當parseInt的第一個參數(shù)是一個數(shù)字時,它是如何解析的?

事實上在這里: parseInt(0.0000005) === 5

3.1 第一步?將數(shù)字轉換為字符串

讓我們使用 String 函數(shù)檢查基于字符串的值,看看每個值的輸出是什么

String(0.5);      // => '0.5'
String(0.05);     // => '0.05'
String(0.005);    // => '0.005'
String(0.0005);   // => '0.0005' 
String(0.00005);  // => '0.00005'
String(0.000005); // => '0.000005'
String(0.0000005); // => '5e-7' 請注意這里

3.2 第二步,做舍入操作

當我們使用 parseInt(0.0000005) 時,它實際等于 parseInt('5e-7')

parseInt 只能將字符串的前導部分解釋為整數(shù)值;它忽略任何不能被解釋為整數(shù)表示法的一部分的代碼單元,并且沒有給出任何這樣的代碼單元被忽略的指示。

parseInt(0.0000005)
parseInt('5e-7') // 5

最后,答案將返回 5,只是因為它是唯一一個在非字符 e 之前是數(shù)字的字符,所以其余的 e-7 將被丟棄。”

4. 如何安全獲取浮點數(shù)的整數(shù)部分?

推薦使用以下 Math.floor() 函數(shù)

Math.floor(0.5);      // => 0
Math.floor(0.05);     // => 0
Math.floor(0.005);    // => 0
Math.floor(0.0005);   // => 0
Math.floor(0.00005);  // => 0
Math.floor(0.000005); // => 0
Math.floor(0.0000005); // => 0

5. 舉一反三

現(xiàn)在,你能解釋一下為什么 parseInt(99999999999999999999999999) 等于 1 嗎?

以上就是JavaScript parseInt0.0000005打印5原理解析的詳細內容,更多關于JavaScript parseInt打印原理的資料請關注腳本之家其它相關文章!

相關文章

最新評論