有人可以解释一下如何得到给定正数的周围整数(例如,如果数字是18.2378那么它应该返回18和19)
(我实际上需要这个以确定给定的数字在0-1或2-3或4-5之间等等......如果它在0-1或2-3或4-之间5等然后一些表达式评估,否则其他一些表达式必须评估。)
答案 0 :(得分:2)
floor
和ceil
函数执行此操作:
x = 18.2378;
floor(x); %Returns 18
ceil(x); %Returns 19
答案 1 :(得分:1)
floor(18.2378)
将返回 18 ,即前一个最接近的整数。
ceil(18.2378)
将返回 19 ,即下一个最接近的整数
答案 2 :(得分:1)
您可以在Matlab中使用round
或floor
或ceil
将十进制数转换为整数。 Round将向上或向下舍入取决于小数值,向下舍入向负无穷大,并且ceil向正无穷大舍入。
以下是一个如何运作的示例:
n=18.2378;
F=floor(n);
C=ceil(n);
TF=F<n<C;
F返回18. C返回19.如果数字在楼层和天花板之间,TF将返回1 - 但是,如果你这样做,数字将始终在其楼层和天花板之间 - 如果不是,则为0。您可以根据需要在循环中迭代地执行此操作。