網(wǎng)站首頁 編程語言 正文
今天發(fā)現(xiàn)0.1 + 0.2 === 0.3 竟然是false
原來是精度的問題 下面是筆記 有興趣的可以看一下
// 0.Number.EPSILON 是javaScript 的最小精度
// EPSILON的值接近于2.220446049250313e-16
console.log(0.1 + 0.2) // 0.30000000000000004
console.log(0.1 + 0.2 === 0.3) // false
// 這個當然是不符合我們常規(guī)認識的 但是我們可以借助Number.EPSILON解決
console.log(Number.EPSILON) // 2.220446049250313e-16
console.log(Math.abs(0.1+0.2-0.3) < Number.EPSILON) // true
// 聲明函數(shù)判斷兩個數(shù)值是否相等
function calculation(a, b) {
if (Math.abs(a-b) < Number.EPSILON) {
return '相等'
} else {
return '不相等'
}
}
console.log(calculation(0.1 + 0.2, 0.3)) // 相等
// 1. Number.isFinite 檢測一個數(shù)值是否是有限數(shù)
console.log(Number.isFinite(100)) // 有限 true
console.log(100/0) // Infinity
console.log(Number.isFinite(100/0)) // 無限 false
console.log(Number.isFinite(Infinity)) // 無限 false
// 2. NUmber.isNaN 檢測這個數(shù)值是否是NaN
console.log(Number.isNaN(123)) // false
// 3. Number.parseInt Number.parseFloat 字符串轉(zhuǎn)換為整數(shù)
console.log(Number.parseInt('787878.8884pppppp')) // 787878
console.log(Number.parseFloat('8.888888八八八')) // 8.888888
// 4. Number.isInterger 判斷數(shù)字是否是整數(shù)
console.log(Number.isInteger(2)) // true
console.log(Number.isInteger(2.5)) // false
// 5. Math.trunc 將小數(shù)部分抹除
console.log(Math.trunc(23.999999999)) // 23
console.log(Math.trunc(23.000000001)) // 23
// 6. Math.sign 判斷一個數(shù)字是正數(shù) 負數(shù) 還是0
console.log(Math.sign(100)) // 1
console.log(Math.sign(0)) // 0
console.log(Math.sign(-100)) // -1
原文鏈接:https://blog.csdn.net/sanhangzhongwen/article/details/122128039
相關推薦
- 2022-11-05 WPF+ASP.NET?SignalR實現(xiàn)后臺通知功能的示例代碼_C#教程
- 2022-12-01 django第一個項目127.0.0.1:8000不能訪問的解決方案詳析_python
- 2022-08-26 docker搭建memcached的詳細步驟_docker
- 2022-07-10 Ubuntu 硬盤分區(qū)
- 2022-12-23 C++?Boost?Parameter超詳細講解_C 語言
- 2022-05-21 Python集合set()使用的方法詳解_python
- 2022-07-09 docker安裝nginx并部署前端項目的全過程_docker
- 2022-03-22 C++計算圓形、矩形和三角形的面積_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支