显示UISliders值为%

时间:2012-07-19 18:40:19

标签: objective-c ios xcode cocoa-touch uislider

我有一个UILabel,当前在UISlider上显示的值为0到1之间的值,增量为.1(因此它会显示.1或.2或.3等等,直到1)。但是我希望将此值显示为100的百分比,但我不太熟悉浮点数的格式。这是我现在的代码:

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

2 个答案:

答案 0 :(得分:3)

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

  

。数
  对于e,E和f说明符:这是小数点后要打印的位数。

因此,你真正想要的是:

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

让我们打破这个,不是吗?

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

    [mySlider value] * 100
    

    注意那里的* 100部分,它将0 ... 1范围内的数字转换为0 ... 100范围。如果您不想要小数百分比,您可以打电话给round()

  2. %%:打印出一个实际的%字符。这是因为printf搜索以%字符开头的开关,因此如果我们在字符串中有一个逐字逐句,则会产生混乱。因此,我们用另一个%(就像我们用反斜杠一样)逃避了它,这很好。

答案 1 :(得分:2)

只需取值并乘以100

sliderLabel.text = [NSString stringWithFormat:@"%f %%",(/*name of slider*/.value)*100];