Objective c 每三位数字的空格

Objective c 每三位数字的空格,objective-c,ios,Objective C,Ios,如何在结果字符串中每隔3位获得一个简单的逗号 代码如下: float convertFrom = [[_convertRates objectAtIndex:[picker selectedRowInComponent:0]] floatValue]; float convertTo = [[_convertRates objectAtIndex:[picker selectedRowInComponent:1]] floatValue]; float input = [inputT

如何在结果字符串中每隔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将是1234567或1234567

使用NSNumberFormatter

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

NSString *formattedString = [formatter stringFromNumber:someNumberValue];
其中,someNumberValue是一个带有数字的NSNumber对象

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

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

使用NSNumberFormatter

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

NSString *formattedString = [formatter stringFromNumber:someNumberValue];
其中,someNumberValue是一个带有数字的NSNumber对象

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


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

后续问题。。我设法让这些东西在我的代码中起作用,我怎样才能使它不被忽略并在0 tho之后杀死所有的小数?比如,当输入为“1.9”时,它只计算并显示数字1。就像这里你可以看到,它不是我想要的转换器。我猜这是一个属性,但我要先问我的可靠助手rmaddy,你还在做这个吗:float input=[inputText.text floatValue];?将用户输入的文本转换为数字是错误的。您应该使用NSNumberFormatter解析用户输入的字符串。另外,请确保处理无效的数字或用户输入的字母。输入是我在NSNumber中使用float,请看一看,看这是否就是您所说的:@Rmaddyth问题在于如何获得链接代码中未显示的“输入”浮点值。不能只对文本字段的文本调用“floatValue”。您需要使用NSNumberFormat解析文本字段的文本。后续问题。。我设法让这些东西在我的代码中起作用,我怎样才能使它不被忽略并在0 tho之后杀死所有的小数?比如,当输入为“1.9”时,它只计算并显示数字1。就像这里你可以看到,它不是我想要的转换器。我猜这是一个属性,但我要先问我的可靠助手rmaddy,你还在做这个吗:float input=[inputText.text floatValue];?将用户输入的文本转换为数字是错误的。您应该使用NSNumberFormatter解析用户输入的字符串。另外,请确保处理无效的数字或用户输入的字母。输入是我在NSNumber中使用float,请看一看,看这是否就是您所说的:@Rmaddyth问题在于如何获得链接代码中未显示的“输入”浮点值。不能只对文本字段的文本调用“floatValue”。您需要使用NSNumberFormat解析文本字段的文本。