在Fortran 90中将整数舍入为0或5结尾

时间:2019-09-10 14:35:41

标签: fortran gfortran fortran90

我在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)。

1 个答案:

答案 0 :(得分:1)

从期望的输出表中看,您似乎只想将数字四舍五入到n = 5的最接近倍数。在这种情况下,您可以使用公式

y = x - mod(x, n)

如果n为2的幂,唯一更直接的方法是清除最低有效位。