fortran有没有哪个函数四舍五入的取整,2.9变成3,1.2变成2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fortran有没有哪个函数四舍五入的取整,2.9变成3,1.2变成2相关的知识,希望对你有一定的参考价值。
参考技术A ifixfloor
nint
int
ceiling
(1.1
/
1.5
/
-1.1
/
-1.5)
ex:
ifix
针对数据类型为real型
1.000
1.000
-1.000
-1.000
(正的向下取整,负的向上取整,都往0这个方向靠拢)
ex:
floor
针对real数据类型
1.000
1.000
-2.000
-2.000
(向下取整)
ex:
nint
针对real数据类型
1.000
2.000
-1.000
-2.000
(四舍五入)
ex:
int
针对数据类型有real,integer,complex
1.000
1.000
-1.000
-1.000
(正的向下取整,负的向上取整,都往0这个方向靠拢)
ex:
ceiling
针对real数据类型
2.000
2.000
-1.000
-1.000
(向上取整) 参考技术B 你好!
这个比较容易实现的:
利用CEILING函数,下面是我的一个例程:
PROGRAM
CEIL
IMPLICIT
NONE
REAL(8)::a
INTEGER(4)::K
WRITE(*,*)"请输入一个实数:"
READ(*,*)a
WRITE(*,*)"向上取整为",CEILING(a)
READ(*,*)K!这个只是为了让你看到结果方便
END
PROGRAM
CEIL
完全可以实现你要的功能!!
如有疑问,请追问。
matlab中小数如何取整?
matlab中有四个常用的取整函数,分别式是floor、ceil、round、fix,可以完成对常数的取整操作。
1、floor 向下取整,即向负无穷方向取整
2、ceil 向上取整,即向正无穷的方向取整
3、round 最近取整,即四舍五入
4、fix 向0取整,即向接近0的方向取整
另外,取整的操作也可以针对一个向量,矩阵,或者多维数组。例如对一个矩阵A,round(A)代表对矩阵A的所有元素进行四舍五入的取整。
扩展资料:
对于这三个取整函数,输入参数为复数时,会分别对实部和虚部进行取整,例如输入取整命令round(1.1+3.7i),取整的结果为1+4i。输入参数为char类型或逻辑值时,会返回为double值。
参考资料:MATLAB文档
参考技术Amatlab中小数取整的函数大约有四个:floor、ceil、round、fix
1、round取整方法是四舍五入
round函数功能:四舍五入取整。
使用方法:B = round(A)
对数组A中每个元素朝最近的方向取整数部分,并返回与A同维的整数数组B,对于一个复数参量A,则分别对其实部和虚数朝最近的方向取整数部分,并返回一复数数据B。
2、floor取整方法是向下取整
floor(x)返回不大于x的最大整数值。
3、ceil取整方法是向上取整
ceil(x)返回不小于x的最小整数值(然后转换为double型)。
4、fix取整方法是往靠近0的取整
注意:取模(mod)与取余(rem)是不同的 ,两个函数的生成机制不同 ,rem函数采用fix函数,而mod函数采用了floor函数 。
rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y)
mod ( x , y )返回的是x-n.*y,当y不等于0时,n=floor(x./y)
如:
mod(-1,3)=2 ,因为-1/3=-0.33333333333333
mod使用floor函数,所以商变为-1。 -1-(-1*3)=2
rem(-1,3)=-1 ,因为-1/3=-0.33333333333
rem使用fix函数,所以商变为0。 -1- (0*3)=-1
round(x)返回x的四舍五入整数值。
参考技术B我们以 A=[-1.8 -1.25 -0.45 0.75 1.75 2.1]为例介绍一下不同的取整方法。
四舍五入取整(round)
在MATLAB主窗口中输入round(A),回车,出现如下结果:
朝负无穷方向舍入(floor)
在MATLAB主窗口中输入floor(A),回车,出现如下结果:
是向下取整方法,取的是小于等于此数的第一个整数。
朝正无穷方向舍入(ceil)
在MATLAB主窗口中输入ceil(A),回车,出现如下结果:
是向上取整法,取的是大于等于此数的第一个整数。
朝零方向舍入(fix)
在MATLAB主窗口中输入fix(A),回车,出现如下结果:
此取整法是舍去小数取整。
若 A = [-2.0, -1.9, -1.55, -1.45, -1.1, 1.0, 1.1, 1.45, 1.55, 1.9, 2.0];
floor:朝负无穷方向靠近最近的整数;
floor(A)
ans =
-2 -2 -2 -2 -2 1 1 1 1 1 2
ceil:朝正无穷方向靠近最近的整数;
ceil(A)
ans =
-2 -1 -1 -1 -1 1 2 2 2 2 2
round:取最近的整数(相当于四舍五入)
round(A)
ans =
-2 -2 -2 -1 -1 1 1 1 2 2 2
fix:取离0最近的整数
fix(A)
ans =
-2 -1 -1 -1 -1 1 1 1 1 1 2本回答被提问者采纳 参考技术D matlab中小漱如何取得成功率多少人啊都挺好的吧我拉进去呗是不是真的啊
以上是关于fortran有没有哪个函数四舍五入的取整,2.9变成3,1.2变成2的主要内容,如果未能解决你的问题,请参考以下文章