2012-02-26 6 views
1

文字列のためにフロートの小数点以下をフォーマットする方法についてここではいくつかの素晴らしい答えがあります。Objective-Cのフロート文字列フォーマット:全体の数字をフォーマットする

float myFloatA = 2.123456f; 
NSLog(@"myFloatA: [%.2f]", myFloatA; 
// returns: 
// myFloatA: [2.12] 

しかし、どのような私が探しているの同じフロートのの整数をフォーマットする方法です。これは、整数上のトリックと同じ種類で行うことができます。

int myInt = 2; 
NSLog(@"myInt: [%5d]", myInt; 
// returns: 
// myInt: [ 2] 

だから私は%の5.2Fのようなものを期待していたことは、小数点の前と後の両方のフォーマットへの答えだろう。しかし、そうではありません:

float myFloatA = 2.123456f; 
NSLog(@"myFloatA: [%5.2f]", myFloatA; 
// returns: 
// myFloatA: [2.12] 

これについてのご意見はありますか?

+0

もう一度テストできますか?それは私のために働く、下の私のポストを参照してください。 – sch

+0

「NSLog(@ "myFloatA:[%5.2f])"、myFloatA;など、どのような結果が得られますか? – sch

答えて

1

印刷指定子を使用することは、NSLogsでは非常にうまくいきますが、別の方法で考えてみてください。

通常、テキストフィールドなどのように数値を表示する場合は、数値の文字列表現が必要です。その場合は、あなたのために大部分を行うNSNumberFormatterを使用することもできます。

0

これも動作することを確認しました。 5文字の幅が得られないと思われる場合は、ゼロ埋め込みを次のように入力してください。

NSLog(@"myFloatA: [%05.2f]", myFloatA); 
関連する問題