根据gfortran文档,INT(x)
和FLOOR(x)
都接受输入x
并将x
转换为整数类型。 FLOOR
显然只允许输入REAL类型,而INT
则输入INTEGER,REAL和complex类型的输入。
允许的输入类型是INT
和FLOOR
之间的唯一区别吗?如果是这样,任何人都可以解释为什么FLOOR
存在,因为它显然是多余的?
“类似问题”框在C,C++和Python3中显示了类似的Stack Overflow问题,但显然没有人向Fortran提出这个问题,这导致我深入了解它。
在Google和Stack Overflow的快速搜索中包含Fortran意味着没有任何有用的内容。所以这肯定是重复的(除非Fortran有INT
和FLOOR
怪癖将它与C / C ++ / Python分开)但我认为它可以实现更容易/快速搜索结果。
答案 0 :(得分:3)
INT
的定义使得它对于REAL输入向零舍入,而FLOOR
总是向下舍入。因此,对于负输入,结果会有所不同。
与您引用的其他一些语言不同,在Fortran中调用FLOOR
的结果是INTEGER类型。
在其堂兄FLOOR
和NINT
的上下文中考虑CEILING
。