2012-10-22 84 views
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

+2

[NSNumberFormatter(https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNumberFormatter_Class/Reference/Reference.html) – 2012-10-22 20:40:04

回答

5

使用NSNumberFormatter。

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

NSString *formattedString = [formatter stringFromNumber:someNumberValue]; 

其中someNumberValue是用數字一個NSNumber對象。

這將爲用戶選擇的區域格式正確格式化數字。

如果您願意,您可以控制小數點後的位數。有關更多詳細信息,請參閱NSNumberFormatter的文檔。

+0

rmaddy麻將的人THX –

+0

跟進的問題。 。我設法讓這些東西在我的代碼中工作,我怎樣才能讓它在0 tho之後不會忽略和終止所有小數?就像,當我輸入'1.9'時,它會計算並顯示數字1. –

+0

像這裏[link](http://oi49.tinypic.com/35kqzw9.jpg) 你可以看到它不是我希望它在轉換器中。我會猜測它的一些屬性,但是我將要求我的可靠幫手rmaddy首先<3 –

相關問題