在objective-C的小数点上使用characterAtIndex

时间:2012-08-06 00:44:13

标签: objective-c

我正在尝试用characterAtIndex做一些事情而且我很难过。 if ([myString characterAtIndex:0]==0)工作正常,如果我正在寻找数字零 - 但如果我正在寻找小数点,if ([myString characterAtIndex:0]==.)只是给我一个错误。还有另一种方法吗?

3 个答案:

答案 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]=='.')