在我的Objective-C代码中,我希望获取NSString值,遍历字母,对字母的ASCII值进行求和并将其返回给用户(最好也是NSString)。如何使用ASCII值的总和将NSString转换为NSInteger?
我已经写了一个循环,但我不知道如何获取单个字符的ASCII值。我错过了什么?
- (NSString*) getAsciiSum: (NSString*) input {
NSInteger sum = 0;
for (NSInteger index=0; index<input.length; index++) {
sum = sum + (NSInteger)[input characterAtIndex:index];
}
return [NSString stringWithFormat: @"%@", sum];
}
注:我已经看到了与获得ASCII值类似的问题,但他们都结束了显示数值为字符串。我仍然不知道如何获得ASCII值作为NSInteger。
什么说错误? – Larme
无法重现问题,工作得很好。唯一的是格式可能应该是'%ld'而不是'%@'。 – luk2302
@ luk2302是正确的。只需更改代码:[NSString stringWithFormat:@“%ld”,(long)sum]; –