将带逗号的数字转换为带点的数字。 (可可触摸)

时间:2011-04-26 11:04:32

标签: cocoa-touch xcode ios

我正在尝试使用XCode对计算器进行编码,但之后我看到带有逗号的Numbers只是在逗号之后被剪切掉了。

我从文本字段中获取带有此代码的Numbers。

-(IBAction)Additionbutton:(id)sender{

NSString *firstString = field1.text;
NSString *secondString = field2.text;
float num1;
float num2;
float output;
num1 = [firstString floatValue];
num2 = [secondString floatValue];
output = num1 + num2
Solutionfield.text = [ [NSString alloc] initWithFormat:@"%.2f",output] ;

是否有可能以这种方式设置计算,它能够处理点和逗号,还是我必须转换它们?如果是,我该怎么做?

谢谢:)

2 个答案:

答案 0 :(得分:3)

也许你应该使用:NSNumberFormatter

How to convert an NSString into an NSNumber

答案 1 :(得分:0)

我今天早上经历过同样的事情,因为解决方案适合我:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
NSNumber *aNumber = [NSNumber numberWithFloat:[[yourFloatAsString stringByReplacingOccurrencesOfString:@"," withString:@"" ] floatValue]];
[numberFormatter setNumberStyle:kCFNumberFormatterDecimalStyle];
NSString *formattedNumber;
formattedNumber = [numberFormatter stringFromNumber:aNumber];
NSLog(@"formattedNumber: %@", formattedNumber);

显然不是最有效的解决方案。它有效,但如果你有时间我强烈建议你看一下NSNumberFormatter Class Reference