如何在结果字符串中每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 567
或1'234'567
。
答案 0 :(得分:5)
使用NSNumberFormatter。
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
NSString *formattedString = [formatter stringFromNumber:someNumberValue];
其中someNumberValue
是具有数字的NSNumber对象。
这将为用户选择的区域格式正确格式化数字。
如果您愿意,您可以控制小数点后的位数。有关详细信息,请参阅NSNumberFormatter
的文档。