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