精華區beta Fortran 關於我們 聯絡資訊
※ 引述《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
pillbox1989:好的我試試看 謝謝您~ 12/25 20:23