2013-01-23 41 views
0

我是iPhone開發者(第二天使用xcode)的禁令,我無法爲標籤製作動態文本。我的字符串:在xcode中發佈格式化字符串iphone

dealerspremiumLabel.text= [NSString stringWithFormat:@"%d%% (%@%d)", premiumPercentage, symbol, premiumCurrency]; 

返回爲「0%((null)88988)」而不是「0%($ 00.00)」。我想不通這是爲什麼在viewDidLoad中發生的事情,因爲我把我的變量:

premiumPercentage=0; 
premiumCurrency= 00.00; 
[email protected]"$"; 
dealerspremiumLabel.text= [NSString stringWithFormat:@"%d%% (%@%d)", premiumPercentage, symbol, premiumCurrency]; 

我的標籤出口的設置正確,我的變量是正確設置爲好。我也檢查了我的日誌,並在上述代碼之前正確設置了這些特定變量的值。任何幫助搞清楚這一點非常感謝。

+0

'symbol'是沒用的,只是把'$'直接放到你的格式定義中:'%d%($%d)'。否則,請嘗試使用'%s'而不是'%@'。 – Madbreaks

+0

謝謝,但這並不適用於符號。 –

回答

0

用這種方式,

貨幣是浮動您使用%d代替%F

dealerspremiumLabel.text= [NSString stringWithFormat:@"%d%% (%@%.2f)", premiumPercentage, symbol, premiumCurrency]; 

編輯:

當你的symbol是給null,你已經錯過了頁頭+在裏面。

或者你也可以直接使用:

dealerspremiumLabel.text= [NSString stringWithFormat:@"%d%% ($%.2f)", premiumPercentage, premiumCurrency]; 
+0

仍然會爲'symbol'獲取'null',對吧? – Madbreaks

+0

固定的貨幣,但我仍然得到空符號。 –

+0

'symbol'看起來像一個NSString,如果他有alloc + init-ed它不應該顯示'null' –

0
NSInteger premiumPercentage=0; 

    CGFloat premiumCurrency= 00.00; 

    NSString *[email protected]"$"; 

    symbol.text= [NSString stringWithFormat:@"%d%% (%@%f)", premiumPercentage,symbol1,premiumCurrency]; 

    NSLog(@"text=%@",symbol.text); 

我用這一個和它的工作在我的情況完全正常及在的UILabel也顯示出正確的值