Re: [問題] 可以判斷整數嗎?
※ 引述《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
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章