我一直在寻找检查变量是否具有等于整数的值的问题。给定的是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)
答案 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