0

大家好!我正在使用来自 NSMutableString 的消息 deleteCharactersInRange。并且存在这个函数以错误的方式删除范围的问题。这是一个错误的代码示例:

-(void) btnClick { NSRange deleteRange = NSMakeRange(0, 1); [valueStr deleteCharactersInRange:deleteRange]; [自己的节目编号]; }

我有一个可变字符串:“-21.256”,当我按下按钮 btnClick 时,它必须从一开始就删除“-”,但它只有在第 5 次按下后才会这样做。之前它工作得很好,但现在不行。请帮忙,或者我可以用什么来代替这个功能?谢谢!

4

2 回答 2

0

您的代码应该可以正常工作:

NSMutableString *string = [NSMutableString stringWithString:@"-21.256"];
NSLog(@"%@", string);
[string deleteCharactersInRange:NSMakeRange(0, 1)];
NSLog(@"%@", string);

结果是:

-21.256
21.256

你的问题一定出在其他地方。

于 2010-10-24T02:27:16.263 回答
0

我想这对你来说会很有趣。我以这种方式初始化了我的字符串:

NSString *buf = nil;
buf = [NSString stringWithFormat:@"%14.5f", myCalculator.calcValue];

之后,我将此字符串添加到我的 NSMutableString 中。使用字符串,我在 func 的帮助下进行了操作:

[string deleteCharactersInRange:NSMakeRange(0, 1)];

但是字符只有在点击 6 或 7 次循环后才会被删除。

解决方案:

问题出在这个字符串中的@“%14.5f” 中,我们有:“-2.00000”而不是“-2.00000”,所以函数可以很好地工作,但它删除了空格而不是“-”。

所以我们需要这样转换:@"%f"

于 2010-10-24T19:50:54.507 回答