其余的rem()和mod()无法正常工作

时间:2018-10-11 15:00:47

标签: matlab

我一直在寻找检查变量是否具有等于整数的值的问题。给定的是MALAB命令。变量cc的值为1.0000,我正在检查其余数是否为零。它应该为零,但给出1。为什么不给0

>> cc
cc =
    1.0000
>> rem(cc,1)
ans =
    1.0000
>> rem(1.0000,1)
ans =
     0
>> mod(1.0000,1)
ans =
     0
>> mod(cc,1)
ans =
    1.0000
>> mod(1.0000,1)
mod(cc,1)

1 个答案:

答案 0 :(得分:1)

尝试fprintf("%.32f\n",cc);cc并不完全像您认为的那样1

也尝试1==cc以查看返回的内容。

您始终可以按照自己的条件取整,例如:

if abs(round(cc)-cc)<1e-8 % or some other number, you choose
    cc=round(cc);
end