作者latinboy (暱稱)
看板Fortran
標題Re: [問題] 可以判斷整數嗎?
時間Sat Dec 25 19:40:19 2010
※ 引述《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
1F:推 pillbox1989:好的我試試看 謝謝您~ 12/25 20:23