2011-04-26 63 views
1

我正在尝试用XCode编码计算器,但后来我看到用逗号分隔的数字只是在逗号后切分。用逗号将数字转换为带点的数字。 (Cocoa Touch)

我用这段代码从textfield中取出数字。

-(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] ; 

是否有可能设置计算这种方式,它能够处理点和逗号或者我有他们,如果是这样,我怎么能做到这一点转换?

谢谢:)

+0

Solutionfield.text = [[NSString alloc] initWithFormat:@“%f”,output];你以这种方式尝试? – 2011-04-26 11:07:07

回答

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

相关问题