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

JavaScript parseInt0.0000005打印5原理解析

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

前言

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

1.什么時(shí)候使用parseInt?

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

2.關(guān)于parseInt的一些事情

根據(jù) MDN文檔,“parseInt(string, radix) 函數(shù)解析字符串參數(shù)并返回指定基數(shù)(數(shù)學(xué)數(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 是如何轉(zhuǎn)換數(shù)字的?

當(dāng)parseInt的第一個(gè)參數(shù)是一個(gè)數(shù)字時(shí),它是如何解析的?

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

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

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

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 第二步,做舍入操作

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

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

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

最后,答案將返回 5,只是因?yàn)樗俏ㄒ灰粋€(gè)在非字符 e 之前是數(shù)字的字符,所以其余的 e-7 將被丟棄。”

4. 如何安全獲取浮點(diǎn)數(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原理解析的詳細(xì)內(nèi)容,更多關(guān)于JavaScript parseInt打印原理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 編程式安裝依賴install-pkg源碼解析

    編程式安裝依賴install-pkg源碼解析

    這篇文章主要為大家介紹了編程式安裝依賴install-pkg源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 微信小程序 slider的簡單實(shí)例

    微信小程序 slider的簡單實(shí)例

    這篇文章主要介紹了微信小程序 slider的簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 微信小程序下拉刷新界面的實(shí)現(xiàn)

    微信小程序下拉刷新界面的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序下拉刷新界面的實(shí)現(xiàn)的相關(guān)資料,希望通過本文能幫助到大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09
  • JavaScript 原型與原型鏈詳情

    JavaScript 原型與原型鏈詳情

    這篇文章主要介紹了JavaScript 原型與原型鏈,JavaScript常被描述為一種基于原型的語言,對象以其原型為模板、從原型繼承屬性和放法。原型對象也可能擁有原型,并從中繼承屬性和方法,一層一層以此類推。這種關(guān)系常被稱為原型鏈,帶著簡單的了解看看下文內(nèi)容具體介紹吧
    2021-10-10
  • 微前端qiankun改造日漸龐大的項(xiàng)目教程

    微前端qiankun改造日漸龐大的項(xiàng)目教程

    這篇文章主要為大家介紹了微前端qiankun改造日漸龐大的項(xiàng)目教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • JS中 querySelector 與 getElementById 方法區(qū)別

    JS中 querySelector 與 getElementById 方法區(qū)別

    這篇文章主要介紹了JavaScript中 querySelector 與 getElementById 方法與區(qū)別,圍繞querySelector 與 getElementById 的相關(guān)資料展開文章內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • sessionStorage多Tab標(biāo)簽頁數(shù)據(jù)共享問題分析

    sessionStorage多Tab標(biāo)簽頁數(shù)據(jù)共享問題分析

    這篇文章主要為大家介紹了sessionStorage多Tab標(biāo)簽頁數(shù)據(jù)共享問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 關(guān)于前端JavaScript ES6詳情

    關(guān)于前端JavaScript ES6詳情

    這篇文章主要介紹了關(guān)于前端JavaScript中的ES6,ES6是一個(gè)泛指,含義是 5.1 版以后的 JavaScript 的下一代標(biāo)準(zhǔn),涵蓋了 ES2015、ES2016、ES2017語法標(biāo)準(zhǔn),ES6新特性目前只有在一些較新版本瀏覽器得到支持,老版本瀏覽器里面運(yùn)行我們需要將ES6轉(zhuǎn)換為ES5
    2021-10-10
  • 詳解無界微前端是如何渲染子應(yīng)用的demo解析

    詳解無界微前端是如何渲染子應(yīng)用的demo解析

    這篇文章主要為大家介紹了詳解無界微前端是如何渲染子應(yīng)用demo解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • JavaScript深拷貝方法structuredClone使用

    JavaScript深拷貝方法structuredClone使用

    這篇文章主要為大家介紹了JavaScript深拷貝方法structuredClone使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評論

双桥区| 怀安县| 离岛区| 修水县| 汾阳市| 繁峙县| 南部县| 陈巴尔虎旗| 华阴市| 邵东县| 赞皇县| 瑞昌市| 富宁县| 夹江县| 剑河县| 洞头县| 开封市| 镇坪县| 太仆寺旗| 道孚县| 泾阳县| 石阡县| 进贤县| 义乌市| 龙州县| 浠水县| 清水河县| 上虞市| 定日县| 洛川县| 石台县| 西安市| 张家界市| 得荣县| 和龙市| 金乡县| 卫辉市| 凌海市| 桃江县| 疏附县| 苏尼特右旗|