成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么 JavaScript 的 parseInt(0.0000005) 打印“5”?

開發(fā) 前端
最近開發(fā)項(xiàng)目時(shí)遇到一個(gè)奇怪的問題,parseInt(0.0000005) === 5。正常情況下輸出0是正確的,為什么是5呢?我們一起來探討一下這個(gè)問題。

前言

最近開發(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ù)是數(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' pay attention here

3.2 第二步是進(jìn)行舍入操作。

正如用戶 SeyyedKhandon 在他的 Stack Overflow 回答中解釋的那樣:

“當(dāng)我們使用 parseInt(0.0000005) 時(shí),它等于 parseInt('5e-7') 并且基于定義:

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

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

最后,答案將僅返回 5,因?yàn)樗侵钡椒亲址?e 為止唯一一個(gè)數(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 嗎?


責(zé)任編輯:華軒 來源: web前端開發(fā)
相關(guān)推薦

2024-08-23 08:47:51

2024-08-23 09:14:18

2019-08-30 14:58:47

JavaScript程序員編程語言

2019-08-28 10:53:35

JavaScriptOptional Ch代碼

2011-12-01 13:13:26

JavaJVM

2016-04-06 11:29:58

JavaScriptDOM操作

2019-01-24 13:37:14

JavaScript開發(fā) 小程序

2019-10-23 15:53:16

JavaScript可選鏈對象

2024-09-11 08:38:02

JavaScriptC#語言編程

2022-09-14 09:37:17

JavaScript默認(rèn)導(dǎo)出

2020-08-07 07:05:48

JavaScript開發(fā)技術(shù)

2023-01-10 08:17:41

WebAPI框架

2011-04-29 09:59:53

墨盒噴墨打印機(jī)

2017-02-08 10:54:38

JavaScriptVR世界

2025-02-24 16:00:00

JavaScripMap開發(fā)

2020-10-15 15:32:30

JavaScript開發(fā)技術(shù)

2021-05-12 07:50:01

JsParseInt() 怪異

2022-08-08 10:46:46

5G工業(yè)4.0工業(yè)革命

2025-03-17 08:30:00

JavaScript循環(huán)代碼

2023-12-08 10:59:49

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品1区2区 | 亚洲国产精选 | 欧美精品一区在线发布 | 综合另类 | 国产精品免费一区二区三区四区 | 国产成人久久精品一区二区三区 | 日韩精品一区二区三区在线播放 | 成人免费看片 | 一区二区三区在线播放 | 日韩欧美在线视频播放 | 午夜精品久久久久久 | 欲色av | 污免费网站| 亚洲一区二区av在线 | 国产精品爱久久久久久久 | 欧美一级黑人aaaaaaa做受 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 欧美 日本 国产 | 精品国产91乱码一区二区三区 | 日本不卡一区二区三区 | 久久最新精品视频 | 亚洲福利视频网 | 欧美aaa| 久久久精品一区二区 | 久久久久久高清 | 欧美精品一区二区三区四区 在线 | 一区二区三区在线 | 国产在线第一页 | 国产精品国产a | 久久成人高清视频 | 九九精品在线 | 欧美日韩国产精品一区 | 久久成人国产 | 亚洲伊人久久综合 | 欧美乱码精品一区二区三区 | 亚洲男人天堂网 | 亚洲综合精品 | 日本不卡视频在线播放 | 免费亚洲视频 | 春色av| 欧美黄色一区 |