[英]How to convert a NSString to NSInteger with the sum of ASCII values?
在我的Objective-C代码中,我想获取一个NSString值,对字母进行迭代,对字母的ASCII值求和并将其返回给用户(最好也是NSString)。
我已经编写了一个循环,但是我不知道如何获取单个字符的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值有关,但是所有这些问题最终都将值显示为字符串。 我仍然不知道如何获取NSInteger的ASCII值。
这应该工作。
- (NSInteger)getAsciiSum:(NSString *)stringToSum {
int asciiSum = 0;
for (int i = 0; i < stringToSum.length; i++) {
NSString *character = [stringToSum substringWithRange:NSMakeRange(i, 1)];
int asciiValue = [character characterAtIndex:0];
asciiSum = asciiSum + asciiValue;
}
return asciiSum;
}
答案是:
- (NSString *) getAsciiSum: (NSString *) input
{
NSString *input = @"hi";
int sum = 0;
for (NSInteger index = 0; index < input.length; index++)
{
char c = [input characterAtIndex:index];
sum = sum + c;
}
return [NSString stringWithFormat: @"%d", sum]);
}
这对我有用。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.