我需要查找字符串是否包含逗号或点。
当我使用以下代码时,它只有在我有点但逗号不起作用时才有效。
为什么?
value is type string.
例如:
如果我有200这样的数字并且我希望添加 .0 这很好,但是如果我的数字是200,53它还会增加 .0 对它:200,53.0
为什么呢?
if (!value.contains(".") || !value.contains(",")) {
value = value + ".0";
}
答案 0 :(得分:4)
不应该是&&
吗?因为,据我所知,如果号码不包含.0
和.
,
if (!value.contains(".") && !value.contains(",")) {
value = value + ".0";
}
答案 1 :(得分:1)
AND(&&)和OR(||)是Short circut运算符,例如sajan chandran给出的例子。
此link可能会对您有所帮助。
答案 2 :(得分:0)
这是因为您使用的是||
条件,并且由于Short Circuit
OR (||)
expression
如果第一个true
返回200,53.0
,则第二个条件将无法获得完全执行,这就是你看到{{1}}