IDL 判斷雙精度變數是否EQ

2022-10-11 19:00:08 字數 758 閱讀 9801

在任何語言中,資料的精度問題都會存在。比如在idl中,就存在以下現象。

idl> a = 2.3 + 0.08

idl> print, a

2.38000

idl> print, a eq 2.38

0

idl> a = 2.38

idl> b = 2.38d

idl> print, a eq b

0

檢視了一些網上的搜尋結果,大多數人的解決方法都是通過判斷兩者之差是否小於乙個極小值,從而判斷是否相等。

其實在idl裡,可以通過把雙精度變數轉換成字串型別,然後判斷。

;這裡的變數均為浮點型

idl> a = 2.3 + 0.08

idl> print, a eq 2.38

0idl> print, string(a) eq string(2.38)

1

;對於雙精度

idl> a = 2.3 + 0.08d

idl> help, a

a              double   =       2.3800000

idl> print, string(a) eq string(2.38)

0idl> print, string(a) eq string(2.38d)

1

Python 判斷物件是否相等及eq函式

python物件標識就是python物件自身的要素,python物件主要有3要素 python中的物件是否相等有兩個層面,乙個層面是是否是同乙個物件,及在記憶體中是否共用乙個記憶體區域,用is判斷,另乙個是物件的值是否相等,用 判斷。我目前用的最多的就是python物件的比較,即比較兩個python...

Python判斷物件是否相等及eq函式的講解

摘要 python物件的標識 python物件標識就是python物件自身的要素,python物件主要有3要素 物件相等的判斷 python中的物件是否相等有兩個層面,乙個層面是是否是同乙個物件,及在記憶體中是否共用乙個記憶體區域,用is判斷,另乙個是物件的值是否相等,用 判斷。我目前用的最多的就是...

php判斷變數是否存在

主要包含三個方法isset,empty,is null 寫這篇的目的主要是為了在平時做健壯性的時候的一些總結,舉例子肯定簡單,因為已經知道此資料的結構,但是實操中情況非常複雜不知道過來的是什麼結構的資料是很稀鬆平常的事。bool isset mixed va r m ixedva r m ixed ...