EDA365电子论坛网
标题:
请问如下表达式为什么会成立,matlab版本?
[打印本页]
作者:
tuoni
时间:
2020-4-22 14:39
标题:
请问如下表达式为什么会成立,matlab版本?
请问如下表达式为什么会成立,matlab版本:R2014a调试别人旧代码发现的问题,A是从别的地方获取到的值。原本的逻辑感觉是str2num(A) > B,但现在无论A为何值,if的条件都成立
1 X R Y5 t8 \' [
4 d. B6 d2 f* H/ w8 `$ l
请教大神,非常感谢!
) k1 ~+ a3 h% w
7 U1 p. R" v* C/ U$ ~0 y, P
A = '12'
B = 21
if (A > B)
% do something
end
4 I: v' x" ]: N& b
4 p k" p: R& ?! _5 {1 T1 T
2 D _) |6 t) K9 L. L, U ~ [4 v2 J
作者:
mnfvbnk
时间:
2020-4-22 15:23
A,B的类型不一样,换成一样的类型试试
作者:
Colbie
时间:
2020-4-22 16:22
因为字符串'1'实际上是char(49)
' W1 T+ `* B2 ^% q
字符串'2'实际上是char(50)
1 u+ m( t9 O- J7 [) z
比较的时候实际上是数组A = [49 50]与B = 21比较
0 v6 R& T, _- [" [5 Q
结果显而易见是逻辑数组[1 1]
/ V" A8 g" v; i# g+ a* U
做个减法A-B看结果就很明显了
) ~& x' E; O: v, H+ E
或者也可以用char(B)来看B在字符串排序中的位置
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2