2013-04-23 75 views
0

例如,我有以下的代碼,其中lblPercentNSTextField如何在Objective-C的NSTextField中將char和int結合起來?

double Progress = progress(Points); 
[lblPercent setIntValue:(Progress)]; 

我將其設置爲整數值,所以它扔出來的小數,由於某種原因,NSProgressIndicator強迫我使用雙。無論如何,在進度條旁邊的標籤中,我希望它能看到數字x%和旁邊的百分號。

我試過標準的連接技術,但沒有骰子。

回答

0

嘗試

[lblPercent setText:[NSString stringWithFormat:@"%d%%",[Progress intValue]]]; 
+0

這給了我糟糕的接收器類型雙。 – 2013-04-23 15:26:55

+0

[lblPercent setText:[NSString stringWithFormat:@「%f %%」,Progress]] ?? – alex 2013-04-23 15:44:01

+0

好的進展!我得到關於**的錯誤沒有可見的@interface爲NSTextField在setText中聲明** – 2013-04-23 15:55:46

0
NSMutableString *value = lblPercent.text; 
[value appendString:@"%"]; 
[lblPercent setText:value]; 
+0

這給了我在NSTextField *類型的對象中找不到的文本,也沒有可見的@interface爲NSTextfield聲明選擇器setText – 2013-04-23 15:27:49

+0

@JonathanWeinraub:已經編輯了你的問題,使其更清楚地表明你在iOS中使用Cocoa和'NSTextField',而不是'UITextField'。 (這個答案假設'lblPercent'是一個'UITextField',並且不能與'NSTextField'一起使用)。 – NSGod 2013-04-23 16:29:03

+0

@JonathanWeinraub在您編輯之前,我假設您使用UILabel,因爲您將它命名爲lblPercent。 – 2013-04-23 17:40:19

0

您可以使用unicode characters得到percent sign

double value;

myLabel.text = [NSString stringWithFormat:@"%d\u0025", value ]

u0025'percent sign'

0
NSInteger percentageProgress = (NSInteger) (Progress * 100); 
[lblPercent setText:[NSString stringWithFormat:@"%d%%", percentageProgress]]; 
1

Unicode字符,您應該使用NSNumberFormatter with the percent style

NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle: NSNumberFormatterPercentStyle]; 
// Any other format settings you want 
NSString* formattedNumber = [formatter stringFromNumber: [NSNumber numberWithDouble: progress]]; 
+0

這給了我一個相當奇怪的數字,不是因爲某種原因返回的變量。 – 2013-04-23 20:50:45

+0

@JonathanWeinraub使用這種方法來設置字段,你應該在你的測試字段中使用'setStringValue:',nt'setIntValue:' – JeremyP 2013-04-24 14:45:29

+0

對不起,花了這麼長的時間回到你身邊,我有期末考試。無論如何,我現在明白你的意思了。但是,我將其改爲您的建議,我得到的價值是600%,所以百分比符號就在那裏。但是,我正在返回的數據應該是6%而不是600%。到目前爲止,我們正在取得最好的進展 - 我認爲比我在考試中取得的進步要好: -/ – 2013-05-11 06:22:32

0
NSString *string = [NSString stringWithFormat:@"%.0f%@",Progress, @"%"]; 
[lblPercent setStringValue:string]; 

這似乎已經爲我工作做的我做了它的方式......

相關問題