我正在尝试用characterAtIndex
做一些事情而且我很难过。 if ([myString characterAtIndex:0]==0)
工作正常,如果我正在寻找数字零 - 但如果我正在寻找小数点,if ([myString characterAtIndex:0]==.)
只是给我一个错误。还有另一种方法吗?
答案 0 :(得分:3)
也许在翻译中丢失了一些东西,但是看看你当前的问题,我认为这就是解决方案的样子(按照我的预期编译和执行):
if([myString characterAtIndex:0] == '.') {
// ...
}
请注意,您必须使用单引号(撇号),因为它们是c样式的char项(技术上是int)而不是c样式的字符串(它们将使用双引号,技术上是数组/指针)< / p>
答案 1 :(得分:3)
再次检查。 [myString characterAtIndex:0] == 0
将编译,但它不会按预期执行。该条件测试字符串的第一个字符是ASCII值为0的字符,不是数字0:它是NUL字符。
-characterAtIndex:
会返回一个值,您可以将其与字符文字进行比较,字符文字是用单引号括起来的字符:'0'
或'.'
。
答案 2 :(得分:2)
characterAtIndex返回一个unichar字符,所以使用'。'代替。
ie:if ([myString characterAtIndex:0]=='.')