2012-07-19 20 views
1

我有一個UILabel,當前顯示在UISlider上的值爲0和1之間的值,以.1爲增量(所以它會顯示.1或.2或.3等等直到1 )。不過,我想以100%顯示此值,但我對格式化浮點數字並不熟悉。下面是代碼我現在所擁有的:顯示UISliders值爲%

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

乘以它只是拿這個值由100 – Dustin 2012-07-19 18:45:42

回答

3

哈哈,這可能會非常棘手.... 從printf文檔:

。數
對於e,E和F符:這是小數點後要打印的位數。

因此,你真正需要的是這樣的:

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

讓我們打破這種下來,好嗎?

  1. %f:打印在參數列表中的第一個浮點數,其是:

    [mySlider value] * 100 
    

    通知的* 100部分存在,它們在0 ... 1範圍內的數轉換成一系列0 ... 100 。如果您不想要小數百分比,則您可以在此調用round()

  2. %%:打印出一個實際的%字符。這是因爲printf搜索以%字符開頭的交換機,所以如果我們在字符串中有一個逐字記錄,它會發出一個糟糕的表情。因此,我們通過另一個%(就像我們將反斜槓那樣)逃避,並且沒問題。

+0

乘以我發誓,我沒有複製此。你的答案好多了。 – Dustin 2012-07-19 18:48:41

+0

@Dustin嘿,別出汗,一直都在發生。我也+1了你的答案,看到它是正確的:) – 2012-07-19 18:49:16

+0

@Richard J. Ross III如果我不想要小數百分比,你可以給我代碼嗎?我只想將值顯示在0%-100%之間。謝謝 – 2015-11-08 11:36:18

2

只是拿這個值由100

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