我有一个 UILabel,它当前在 UISlider 上将值显示为 0 和 1 之间的值,以 0.1 为增量(因此它会显示 .1 或 .2 或 .3 等,最多为 1)。但是我想将此值显示为 100 中的百分比,但我对格式化浮点数不太熟悉。这是我现在拥有的代码:
sliderLabel.text = [NSString stringWithFormat:@"%.1f", [[f numberFromString:thresholdFile] floatValue]];
我有一个 UILabel,它当前在 UISlider 上将值显示为 0 和 1 之间的值,以 0.1 为增量(因此它会显示 .1 或 .2 或 .3 等,最多为 1)。但是我想将此值显示为 100 中的百分比,但我对格式化浮点数不太熟悉。这是我现在拥有的代码:
sliderLabel.text = [NSString stringWithFormat:@"%.1f", [[f numberFromString:thresholdFile] floatValue]];
哈哈,这可能很棘手......来自printf
文档:
.number
对于 e、E 和 f 说明符:这是要在小数点后打印的位数。
因此,您真正想要的是:
[NSString stringWithFormat:@"%f %%", [mySlider value] * 100];
让我们分解一下,好吗?
%f
:打印参数列表中的第一个浮点数,即:
[mySlider value] * 100
请注意* 100
那里的部分,它将 范围内的数字转换为 范围0 ... 1
内的数字0 ... 100
。round()
如果您不想要小数百分比,您可能希望调用此选项。
%%
:打印出一个实际的%
字符。这是因为printf
搜索以字符开头的开关,%
所以如果我们在字符串中有一个逐字记录,它会抛出一个嘶嘶声。因此,我们用另一个来逃避它%
(就像我们用反斜杠一样),这很好。
只需将值乘以 100
sliderLabel.text = [NSString stringWithFormat:@"%f %%",(/*name of slider*/.value)*100];