我在查询char数组中小数点的位置时遇到问题。
我使用以下方法将double(Price)转换为char数组:
char[] arrayPrice=Double.toString(Ad[i].Price()).toCharArray();
现在我想找到小数点的位置。
我试过
for (int k=0; k<arrayPrice.length; k++) {
if (".".equals(arrayPrice[k])) {
dotPosition=k;
}
}
但它一直给我0。
谢谢!
答案 0 :(得分:3)
您正在比较不同的类型,这将始终为false
。
".".equals(arrayPrice[k])
相反,您可以使用
'.' == arrayPrice[k]
但String类提供了一些utils方法,例如String#indexOf(..)
返回第一次出现的字符串中的索引 指定的字符
String price=Double.toString(Ad[i].Price());
price.indexOf('.');
答案 1 :(得分:1)
A“。”充当通配符。 所以不要使用
".".equals(arrayPrice[k])
你可以使用
'.'==arrayPrice[k]
if语句中的。 这肯定会解决问题。