2012-01-01 19 views
2

これは何度も尋ねられたことがわかっていますが、私は正直に検索しました。私はちょうど私が自分自身を学び、教えることを始めているので、コーディングにはあまりよくありません。私はここの開発者の図書館とすべての答えをGoogleで見てきましたが、私はこの作業をする上で問題があります。私が出会うように見える多くの情報は、IOSとXcodeの古いバージョンです。私は小数点以下の数字だけを表示する必要があります。たとえば、出力が90.909090の場合、90.90または90.91を表示する必要があります。これは動作しますが、出力は0.00と表示され、フロートを読み取っていません。私はこれの出力がNSString stringWithFormat:@ "%。2f"というweightkgテキストのテキストを表示していることを知っています。私は浮動小数点をこの形式で表示するのに問題があります。Xcode 4.2小数点以下の桁

- (IBAction)calculateweight:(id)sender { 
    float wl = ([weightlbs.text floatValue]); 
    float wt = (wl/2.2); 

    weightkg.text = [[NSNumber numberWithFloat:wt] stringValue]; 
[weightkg setText:[NSString stringWithFormat:@"%.2f"]]; 

} 
+2

"Xcode"と "Objective-C"の違いを知りたいかもしれません... –

+0

この機能は、基本的にCからまっすぐ持ち上げられています。コマンドから 'man 3 printf'を実行すると、ライン; 'stringWithFormat:'には同じフォーマット(2つの追加を伴う)が使われます。 –

答えて

8

あなたはstringWithFormatにfloat値を渡していません。これを試してください。

- (IBAction)calculateweight:(id)sender { 
    float wl = ([weightlbs.text floatValue]); 
    float wt = (wl/2.2); 

[weightkg setText:[NSString stringWithFormat:@"%.2f", wt]]; 

} 
+0

ありがとう、私はそれが必要なように正確に働いた。私は前にこのようなものを試しましたが、NSString stringWithFormatを使用してエラーを取得するのではなく、NSNumber numberWithFloatを使用しようとしていました。 – Jasonwilliams10

4

あなたは使用する必要があります。

ある
float wt = ...; 
weightkg.text = [NSString stringWithFormat:@"%.2f", wt]; 

、あなたのstringWithFormatコールに変数の値を渡す必要があります。

関連する問題