Re: [問題] 可以判斷整數嗎?

看板Fortran作者 (暱稱)時間14年前 (2010/12/25 19:40), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/9 (看更多)
※ 引述《pillbox1989 (如履薄冰)》之銘言: : 我想要確定開方後的值是整數 : 利用if 判斷 : 但是一直想不到限制條件可以打甚麼? : 還是有其他更好的方法呢? : 謝謝大家 integer n real*8 ans, x ans = x ** (1.d0/n) !! ans=對x開n次方 if ( anint(ans) == ans ) then print *, 'ans是整數' end if anint()是內建函數 會傳回最接近的整數值 如果ans是3.0會傳回3.0 如果ans是2.95也會傳回3.0 但是 由於浮點數運算的限制 原本答案應該是3.0000也可能變成2.99999這種浮點運算誤差 判斷就會失誤 這個小問題該如何解決?? 交給你自己玩玩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.24.73

12/25 20:23, , 1F
好的我試試看 謝謝您~
12/25 20:23, 1F
文章代碼(AID): #1D5TWdKL (Fortran)
討論串 (同標題文章)
文章代碼(AID): #1D5TWdKL (Fortran)