Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Fortran 90中,整数向下舍入以0或5结尾_Fortran_Gfortran_Fortran90 - Fatal编程技术网

在Fortran 90中,整数向下舍入以0或5结尾

在Fortran 90中,整数向下舍入以0或5结尾,fortran,gfortran,fortran90,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中有如下整数值:

120343
120344
120345
119349
118350
118355
我想把它们四舍五入,所以最后一个数字总是0或5。因此,上述数字将变为:

120343 > 120340
120344 > 120340
120345 > 120345
119349 > 119345
118350 > 118350
118355 > 118355
我可以编写一个算法来解决这个问题,但我想知道是否有一种更直接的方法可以使用现有的Fortran 90函数来实现这一点


我使用的是gfortran(gcc8)。

从您的预期输出表来看,您似乎只想将数字向下舍入到最接近的倍数
n
=5。在这种情况下,你可以接受这个公式

y = x - mod(x, n)

如果
n
是二的幂,唯一更简单的方法是清除最低有效位。

您能展示一下您将使用的算法吗?这可能与大多数人使用标准的intrinsic编写的代码非常相似(这个操作没有单独的标准过程)。例如,我可以想到一个简单的单行程序,但它是否更简单……出于某种原因,我认为Fortran中会有一个特定的函数来实现这一点(我是Fortran新手,我仍在研究如何实现基本功能)。谢谢,非常简单。我在思考一些不必要的复杂问题。