2013-03-01 117 views
2

在我的項目中,我有一個函數可以在我的界面上運行一個5位數的數字並將其輸出到標籤中。的數量可以是一個雙鍵或一個浮子,但我想它,以顯示像### + ##。##自定義格式化文本標籤的字符串值

實例號12345.67

所示像123 + 45.67

的輸出將總是是一個帶小數的5位數字。我研究了格式化數據格式的具體數字格式,但沒有遇到任何具體的這種情況。這是我將數字更改爲字符串並將其分配給標籤的地方。請提前幫助並感謝您的時間。

NSString *outputNumber = [NSString stringWithFormat:@"%f",numberHere]; 

_stationing.text = outputNumber; 

回答

1

有幾種方法可以做到這一點。

NSMutableString *outputNumber = [[NSString stringWithFormat:@"%.2f", numberHere] mutableCopy]; 
[outputNumber insertString:@"+" atIndex:outputNumber.length - 5]; 

_stationing.text = outputNumber; 

另:

int high = numberHere/100; 
float low = numberHere - (high * 100); 
NSString *outputNumber = [NSString stringWithFormat:@"%d+%.2f", high, low]; 

如果數字的格式是這些方法不會,如果數量少於100

+0

好答案,謝謝。我選擇了後一個選項bc,這對我來說更有意義。我會將它標記爲已回答,但我的代表還不夠高。 – JBeesky 2013-03-01 00:54:54

0

希望這有助於

NSStirng *numberString = [NSString stringWithFormat:@"%.2f",numberHere]; 

NSString *firstPart = [numberString substringWithRange:NSMakeRange(0, 3)]; 
NSString *secondPart [numberString substringWithRange:NSMakeRange(3, 5)]; 

NSString *outputString = [NSString stringWithFormat:@"%@+%@", firstPart, secondPart]; 

正常工作不是永久的,你應該先檢查長度。

+0

您需要使用'%.2f'作爲格式來獲得所需的兩位小數。 – rmaddy 2013-03-01 00:47:38

+0

感謝您的回覆。我和Maddy的回答一起,BC對我來說是一個簡單易行的代碼。 – JBeesky 2013-03-01 00:56:17