在我的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]; –