1

我有一个 UILabel,它当前在 UISlider 上将值显示为 0 和 1 之间的值,以 0.1 为增量(因此它会显示 .1 或 .2 或 .3 等,最多为 1)。但是我想将此值显示为 100 中的百分比,但我对格式化浮点数不太熟悉。这是我现在拥有的代码:

sliderLabel.text = [NSString stringWithFormat:@"%.1f", [[f numberFromString:thresholdFile] floatValue]];  
4

2 回答 2

3

哈哈,这可能很棘手......来自printf文档:

.nu​​mber
对于 e、E 和 f 说明符:这是要在小数点后打印的位数。

因此,您真正想要的是:

[NSString stringWithFormat:@"%f %%", [mySlider value] * 100];

让我们分解一下,好吗?

  1. %f:打印参数列表中的第一个浮点数,即:

    [mySlider value] * 100
    

    请注意* 100那里的部分,它将 范围内的数字转换为 范围0 ... 1内的数字0 ... 100round()如果您不想要小数百分比,您可能希望调用此选项。

  2. %%:打印出一个实际的%字符。这是因为printf搜索以字符开头的开关,%所以如果我们在字符串中有一个逐字记录,它会抛出一个嘶嘶声。因此,我们用另一个来逃避它%(就像我们用反斜杠一样),这很好。

于 2012-07-19T18:45:49.403 回答
2

只需将值乘以 100

sliderLabel.text = [NSString stringWithFormat:@"%f %%",(/*name of slider*/.value)*100];
于 2012-07-19T18:46:57.373 回答