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