首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSString -2位数字

NSString -2位数字
EN

Stack Overflow用户
提问于 2011-05-13 23:33:51
回答 4查看 786关注 0票数 1

‘嗨,我有一个包含2位数字(如32)的字符串,但我想获取并使用它作为2个单位数(如3和2)。我该怎么做呢?提前谢谢。

代码语言:javascript
复制
  NSString *depositOverTotalRwy = [NSString stringWithFormat:@"%@", [deposit text]];
NSArray *components = [depositOverTotalRwy
                       componentsSeparatedByString:@"/"];
NSString *firstThird = [components objectAtIndex:0];
unichar firstChar = [firstThird characterAtIndex: 0];
NSString *firstCharStr = [NSString stringWithFormat:@"%c", firstChar];

unichar secChar = [firstThird characterAtIndex: 1];
NSString *secCharStr = [NSString stringWithFormat:@"%c",secChar];






NSLog(@"%@ over %@", firstCharStr, secCharStr);

if ([firstCharStr  isEqualToString: @"1"]) {
    firstCharStr=@"wet";
    NSLog(@"wet");
}
if ([firstCharStr  isEqualToString: @"2"]) {
    firstCharStr=@"snow";

    NSLog(@"snow");
}
if ([firstCharStr  isEqualToString: @"3"]) {
    firstCharStr=@"ice";
    NSLog(@"ice");
    }

if ([secCharStr  isEqualToString: @"1"]) {
    secCharStr=@"wet";
    NSLog(@"wet");
}
if ([secCharStr  isEqualToString: @"2"]) {
    secCharStr=@"snow";

    NSLog(@"snow");
}
if ([secCharStr  isEqualToString: @"3"]) {
    secCharStr=@"ice";
    NSLog(@"ice");
}

NSString *secThird = [components objectAtIndex:1];
if ([secThird isEqualToString: @"1"]) {
    secThird = @"wet";
    NSLog(@"wet");
}
if ([secThird isEqualToString:@"2"]) {
    secThird = @"snow";

    NSLog(@"snow");
}
if ([secThird isEqualToString:@"3"]) {
    secThird = @"ice";

    NSLog(@"ice");
}

NSString *thirdThird = [components objectAtIndex:2];

if ([thirdThird isEqualToString: @"1"]) {
    thirdThird = @"wet";
    NSLog(@"wet");
}
if ([thirdThird isEqualToString:@"2"]) {
    thirdThird = @"snow";

    NSLog(@"snow");
}
if ([thirdThird isEqualToString:@"3"]) {
    thirdThird = @"ice";

    NSLog(@"ice");
}

dep.text = [NSString stringWithFormat:@"1/3 %@%@ 2/3 %@ 3/3 %@", firstCharStr,secCharStr, secThird, thirdThird];

它现在可以使用to数字(即32位),但如果我尝试只输入一个数字,我会得到一个错误...有什么想法吗?谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-13 23:42:30

循环并从字符串中一次提取一个字符。

代码语言:javascript
复制
for(int i = 0; i < [myString length]; i++)
{
      char extractedChar = [myString characterAtIndex:i];

      if(extractedChar == '1')....
}
票数 1
EN

Stack Overflow用户

发布于 2011-05-13 23:43:11

NSString的-characterAtIndex:应该可以做到这一点:

代码语言:javascript
复制
NSString            *firstThird = @"32";
unichar             c1, c2;

c1 = [ firstThird characterAtIndex: 0 ];
c2 = [ firstThird characterAtIndex: 1 ];

switch ( c1 ) {
case '3':
    ...
}
票数 2
EN

Stack Overflow用户

发布于 2011-05-13 23:43:05

跳过任何unicode复杂性,如何提取字符

unichar firstChar = firstThird characterAtIndex: 0;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5994259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档