1

如何在结果字符串中每 3 位得到一个简单的逗号?

代码如下:

float convertFrom = [[_convertRates objectAtIndex:[picker selectedRowInComponent:0]]     floatValue];

float convertTo = [[_convertRates objectAtIndex:[picker selectedRowInComponent:1]] floatValue];

float input = [inputText.text floatValue];
float to = convertTo;
float from = convertFrom;

float convertValue = input;
float relative = to / from;
float result = relative * convertValue;

NSString *convertFromName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:0]];
NSString *convertToName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:1]];



NSString *resultString = [[NSString alloc]initWithFormat:
                          @" %.4f %@",result, convertToName];


resultLabel.text = resultString;

NSString *formelString = [[NSString alloc]initWithFormat:
                          @" %.4f %@=", convertValue, convertFromName];
formelLabel.text = formelString;

这段代码产生了很多数字,显示在一个文本块中,这不是最实用的数据使用方式。如何在此代码中实现逗号?

例如,1234567将是1 234 5671'234'567

4

1 回答 1

5

使用 NSNumberFormatter。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;

NSString *formattedString = [formatter stringFromNumber:someNumberValue];

其中someNumberValue是一个带有数字的 NSNumber 对象。

这将为用户选择的区域格式正确格式化数字。

如果您愿意,您可以控制小数点后的位数。有关更多详细信息,请参阅文档NSNumberFormatter

于 2012-10-22T20:40:45.570 回答