我在Fortran中有这样的整数值:
120343
120344
120345
119349
118350
118355
我想将它们四舍五入,因此最后一位总是0或5。因此上述数字将变为:
120343 > 120340
120344 > 120340
120345 > 120345
119349 > 119345
118350 > 118350
118355 > 118355
我可以编写一种算法来解决此问题,但我想知道是否存在使用现有Fortran 90函数实现此问题的更直接方法。
我正在使用gfortran(gcc8)。
答案 0 :(得分:1)
从期望的输出表中看,您似乎只想将数字四舍五入到n
= 5的最接近倍数。在这种情况下,您可以使用公式
y = x - mod(x, n)
如果n
为2的幂,唯一更直接的方法是清除最低有效位。