如何在Objective-C中的NSTextField中将char与int组合?

时间:2013-04-23 14:45:23

标签: objective-c xcode cocoa nstextfield

例如,我有以下代码,其中lblPercentNSTextField

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

我将其设置为整数值,因此它会丢弃小数,因为由于某种原因,NSProgressIndicator强制我使用双精度。无论如何,在进度条旁边的标签中,我希望它看到数字x%,旁边有百分号。

我尝试过标准级联技术,但没有骰子。

6 个答案:

答案 0 :(得分:1)

您应该使用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]];

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以使用unicode characters获取percent sign

double value;

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

u0025'percent sign'

的unicode字符

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

这似乎对我这样做是按照我的方式做的...