我有一个UILabel当前正在UISlider上以0和1之间的值(以.1的增量)显示该值(因此它将显示.1或.2或.3等,最高为1)。但是,我想将此值显示为100中的%,但是我对格式化浮点数不太熟悉。这是我现在拥有的代码:
sliderLabel.text = [NSString stringWithFormat:@"%.1f", [[f numberFromString:thresholdFile] floatValue]];
最佳答案
哈哈,这可能很棘手。
从 printf
文档:
。数
对于e,E和f指示符:这是小数点后要打印的位数。
因此,您真正想要的是:
[NSString stringWithFormat:@"%f %%", [mySlider value] * 100];
让我们分解一下,好吗?
%f
:打印参数列表中的第一个浮点数,即:[mySlider value] * 100
注意那里的
* 100
部分,该部分将0 ... 1
范围内的数字转换为0 ... 100
范围内的数字。如果您不希望使用小数位数,则可能希望为此调用round()
。 %%
:打印出实际的%
字符。这是因为printf
会搜索以%
字符开头的开关,因此,如果字符串中有一个逐字记录,则会产生嘶嘶声。因此,我们使用另一个%
(就像我们使用反斜杠一样)对其进行了转义,这很好。 关于objective-c - 将UISliders值显示为%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567252/