1

現在、UISlider の値を 0 から 1 の間の値として .1 刻みで表示している UILabel があります (したがって、.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 ... 10 ... 100round()

  2. %%: 実際の%文字を印刷します。これはprintf、その文字で始まるスイッチを検索するため%です。したがって、文字列に逐語が 1 つあると、ヒスノイズが発生します。したがって、別のものでそれをエスケープし%ます (バックスラッシュで行うのと同じように)。これで問題ありません。

于 2012-07-19T18:45:49.403 に答える
2

値を取り、100を掛けるだけです

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