網站首頁 編程語言 正文
今天發現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
// 這個當然是不符合我們常規認識的 但是我們可以借助Number.EPSILON解決
console.log(Number.EPSILON) // 2.220446049250313e-16
console.log(Math.abs(0.1+0.2-0.3) < Number.EPSILON) // true
// 聲明函數判斷兩個數值是否相等
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 檢測一個數值是否是有限數
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 檢測這個數值是否是NaN
console.log(Number.isNaN(123)) // false
// 3. Number.parseInt Number.parseFloat 字符串轉換為整數
console.log(Number.parseInt('787878.8884pppppp')) // 787878
console.log(Number.parseFloat('8.888888八八八')) // 8.888888
// 4. Number.isInterger 判斷數字是否是整數
console.log(Number.isInteger(2)) // true
console.log(Number.isInteger(2.5)) // false
// 5. Math.trunc 將小數部分抹除
console.log(Math.trunc(23.999999999)) // 23
console.log(Math.trunc(23.000000001)) // 23
// 6. Math.sign 判斷一個數字是正數 負數 還是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-06-17 Go語言使用Request,Response處理web頁面請求_Golang
- 2022-08-01 C++鏈式二叉樹深入分析_C 語言
- 2022-08-16 Docker中部署Redis集群與部署微服務項目的詳細過程_docker
- 2022-06-22 C語言關于include順序不同導致編譯結果不同的問題_C 語言
- 2023-10-30 解決SpringBoot3整合Druid的兼容性問題
- 2022-06-20 C語言簡明講解隊列的實現方法_C 語言
- 2022-07-01 Python自動操作Excel文件的方法詳解_python
- 2022-12-24 C++中的模板類繼承和成員訪問問題_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支