判断一个double类型的数是不是整数
生活随笔
收集整理的這篇文章主要介紹了
判断一个double类型的数是不是整数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. java 常見的做法是強轉為整形,然后判斷是否相等,例如:
這肯定是有問題的,比如a是一個很大的數,已經超出int的范圍,那么強轉就報錯了,用long類型好一點。而且阿里巴巴代碼規(guī)范也提示這樣寫不規(guī)范,原因以及推薦的寫法都在圖里。
2. 還有就是對于js這種弱類型語言,向下取整判斷是否相等。
Math.floor(1.23) === 1
3. 還有一種偷懶的寫法,直接 mod 1 == 0 即可,Java和js都可以使用,但也同樣存在精度問題,比如:1.0000000000000001 % 1,它的結果是0。
綜上所述:以上寫法平時寫問題不大,可以用用。但是在特定領域的項目里,請參考阿里的推薦寫法,定義一個足夠小、符合你們項目實際需求的變量 ? ,這個值在java中比如設置為Double.MIN_VALUE,兩數相減取絕對值小于該變量,我們就認為是相等的。?
總結
以上是生活随笔為你收集整理的判断一个double类型的数是不是整数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux虚拟机上离线安装ansible
- 下一篇: 关于KEIL SCT文件重写