NSStringでfloatを使用したいと思います。stringWithFormatと%fを使用して、フロートをNSStringに統合しました。問題は、小数点以下1桁(%.1f)のみを表示したいのですが、小数点がない場合は「.0」を表示したくないということです。
どうやってやるの?
ありがとう
NSStringでfloatを使用したいと思います。stringWithFormatと%fを使用して、フロートをNSStringに統合しました。問題は、小数点以下1桁(%.1f)のみを表示したいのですが、小数点がない場合は「.0」を表示したくないということです。
どうやってやるの?
ありがとう
I found the answer with NSNumberFormatter and setMaximumFractionDigits, then:
[numberFormatter stringFromNumber:myNumber]
Thanks to everyone especially @falconcreek
を使用する必要がありますNSNumberFormatter
。
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormat:@"#,##0.#"];
NSNumber *oneThousand = [NSNumber numberWithFloat:1000.0];
NSNumber *fivePointSevenFive = [NSNumber numberWithFloat:5.75];
NSLog(@"1000.0 formatted: %@", [numberFormatter stringFromNumber:oneThousand]);
NSLog(@"5.75 formatted: %@", [numberForatter stringFromNumber:fivePointSevenFive]);
Appleのデータフォーマットプログラミングガイドには、フォーマット標準へのリンクがあります。便利な参照番号のフォーマットパターン
このように%gを使用できます
NSLog([NSString stringWithFormat: @"test: %g", (float)1.2]);
NSLog([NSString stringWithFormat: @"test: %g", (float)1])
NSNumberFormatterは最近少し変更されました。有効数字2桁を四捨五入する例を次に示します。
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterNoStyle];
[numberFormatter setUsesSignificantDigits:YES];
[numberFormatter setMaximumSignificantDigits:2];
そして、ここに良い最近のリソースへのリンクがあります。