我需要查找字符串是否包含逗号或点。
当我使用以下代码时,只有当我有一个点但逗号不起作用时它才有效。为什么 ?
value is type string.
例如 :
如果我有像 200 这样的数字并且我希望添加.0这很好,但如果我的数字像 200,53 它也会添加.0:200,53.0
为什么?
if (!value.contains(".") || !value.contains(",")) {
value = value + ".0";
}
我需要查找字符串是否包含逗号或点。
当我使用以下代码时,只有当我有一个点但逗号不起作用时它才有效。为什么 ?
value is type string.
例如 :
如果我有像 200 这样的数字并且我希望添加.0这很好,但如果我的数字像 200,53 它也会添加.0:200,53.0
为什么?
if (!value.contains(".") || !value.contains(",")) {
value = value + ".0";
}
不应该&&
吗?因为,据我了解,.0
如果数字不包含 BOTH .
AND,
if (!value.contains(".") && !value.contains(",")) {
value = value + ".0";
}
根据 sajan chandran 给出的示例,AND(&&) 和 OR(||) 是短循环运算符。
此链接可能会对您有所帮助。
这是因为您正在使用一个||
条件,并且由于如果第一个返回第二Short Circuit
个条件根本不会执行,这就是您看到的原因OR (||)
expression
true
200,53.0