作者sjgau (sjgau)
看板Fortran
标题Re: [问题] 可以判断整数吗?
时间Sat Dec 25 21:36:42 2010
我会!
real*4, or real*8 都可以。
real*4 x, y, z;
x= 16.0
y= sqrt(x)
iy= int(y + 0.5)
! int() 还要 查ㄧ下,目的是 把 y 四舍五入,
! 取最接近的 整数
if (rel_diff(iy, y) < 1.0e-5) then
! y 是整数
else
! y 不是整数
end if
! rel_diff(a, b) 是自己写的 副程式, 计算 a, b 的相对误差
! 相对误差等於 = (abs_diff(a, b))/max(abs(a), abs(b))
! abs_diff(a, b) 是自己写的副程式,求 a, b 两个数字的 绝对误差
! 绝对误差= abs(a - b)
※ 引述《pillbox1989 (如履薄冰)》之铭言:
: 我想要确定开方後的值是整数
: 利用if 判断
: 但是一直想不到限制条件可以打甚麽?
: 还是有其他更好的方法呢?
: 谢谢大家
--
e-mail:
[email protected]
我的课程介绍网页:
http://www.csie.ntu.edu.tw/train/teacher_display.php?num=18
AutoCAD 台湾地区菁英讲师获选
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.83.181.85
1F:→ sjgau:如果是 real*8 的话,rel_diff(y, iy) < 1.0e-14 12/25 21:37
2F:推 Cypresslin:第五行,不是int,应该是nint 12/27 14:14