如何将int值附加到字符串?

时间:2011-05-05 06:56:20

标签: iphone objective-c nsstring

NSMutableString  *selectDay=@"Wed 14 May";
[selectDay stringByAppendingFormat:@"%i", yearNumber];
NSLog(@"%@",selectDay);

我会尝试这个。但是它不能将yearNumber附加到该字符串请帮助我.YearNumber包含2011。

6 个答案:

答案 0 :(得分:6)

stringByAppendingFormat:返回新字符串,它不会修改接收器字符串。这就是为什么你没有变化的原因。试试这个:

NSMutableString  *selectDay=@"Wed 14 May";
NSString *newString = [selectDay stringByAppendingFormat:@"%i", yearNumber];
NSLog(@"%@", newString);

或者这个:

NSMutableString  *selectDay=@"Wed 14 May";
NSString *newString = [NSString stringWithFormat:@"%@%i", selectDay, yearNumber];
NSLog(@"%@", newString);

编辑:实际上你不需要可变字符串。 selectDay应该是正常的NSString

NSString  *selectDay=@"Wed 14 May";

答案 1 :(得分:2)

更改以下行

[selectDay stringByAppendingFormat:@"%i", yearNumber];

selectDay = [NSString stringWithFormat:@"%@%i", selectDay, yearNumber];

肯定能起作用......

答案 2 :(得分:1)

   NSString *selectDay=@"Wed 14 May";
    NSString *appendedString = [NSString stringWithFormat:@"%@ %d",selectDay, yearNumber];

    NSLog(@"%@",appendedString);

试试这个

答案 3 :(得分:1)

试试这个: -

NSString   *selectDay=@"Wed 14 May";
    int yearNumber=2011;
    selectDay=[selectDay stringByAppendingFormat:[NSString stringWithFormat:@"%d", yearNumber]];
    NSLog(@"%@",selectDay);

答案 4 :(得分:1)

您将变量定义为NSMutableString *类型,但是您传递的常量字符串类型为NSString *,这已经是错误的。有两种解决方案:有或没有NSMutableString。

NSMutableString *selectDay = [NSMutableString stringWithString:@"Wed 14 May"];
[selectDay appendFormat:@"%i", yearNumber];
NSLog(@"%@", selectDay);

这里,可变字符串是从常量字符串生成的,然后通过追加来修改。

NSString *selectDay = @"Wed 14 May";
NSString *newDay = [selectDay stringByAppendingFormat:@"%i", yearNumber];
NSLog(@"%@", newDay);

这里的要点是stringByAppendingFormat:不会修改原始字符串,而是返回一个新字符串。而你只需要在一个变量中“捕获”它。

答案 5 :(得分:0)

您可以尝试:

NSString *selectDay = [NSString stringWithFormat:@"Wed 14 May %d", yearNumber];