我是Objective C的新手,我对substringToIndex有一个奇怪的问题。
背景: 代码是从计算器显示中删除最后一个字符的函数的一部分。我需要能够在删除点时标记
我的代码是:
NSString *currentDisplay = self.display.text;
NSString *lastChar = [currentDisplay substringToIndex: 1];
NSLog(@"lastChar -->%@<--",lastChar);
问题是: Variable currentDisplay是一个数值,例如“123.45”。当。。。的时候 ”。” (点)是要删除的字符,因此变量lastChar应为“。”,日志显示一个随机数,通常是最后一个被删除的字符。
知道我做错了吗?
非常感谢, 亚历
答案 0 :(得分:2)
如果您想判断最后一个字符是否为“点”,请使用
if ([currentDisplay characterAtIndex:currentDisplay.length - 1] == '.') ....
答案 1 :(得分:1)
这可以帮到你:
BOOL flagIfDotIsDeleted = NO;
unichar leftmostChar = [currentDisplay characterAtIndex: currentDisplay.length - 1];
if (leftmostChar == '.')
{
flagIfDotIsDeleted = YES;
currentDisplay = [currentDisplay substringToIndex: currentDisplay.length - 2];
}
答案 2 :(得分:1)
这更简单,如果你想知道最后一个字符是否是一个点......
if([currentDisplay hasSuffix:@"."])