stringwithformatにメソッドを挿入するときに「nan」を取得します

StackOverflow https://stackoverflow.com/questions/4557752

  •  14-10-2019
  •  | 
  •  

質問

エラーの理解と修正を容易にするためのいくつかの方法を単純化しました。番号を取得する代わりに「ナン」を取得し、その理由がわかりません。 getNumberメソッドを返信ステートメント内に入れたいです。私がその中にメソッドを持っているとき、ナンの文字列を返しますが、26を内側に置くだけで26を返します。

-(double) getNumber { return 26; }


-(NSString *) convertToString {
        return [NSMutableString stringWithFormat: @"%Lf",[self getNumber]];
// returns 'nan'           when I replace [self getNumber] with 15 I get 15
}
役に立ちましたか?

解決

「%LF」の代わりに「%F」を使用することをお勧めします。 double, 、ではありません long double

他のヒント

コードにいくつかの問題があります。

  1. 整数ではなく、ダブルを返します getNumber. 。自動強制が発生しますが、クリーンコードを書きます。
  2. 使用 %g フォーマット仕様、そうではありません %Lf. %g ダブル用です。

それはあなたのフォーマット仕様です。 「%G」を使用してダブルをフォーマットする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top