最後に不要なゼロを付けずに、double 値から stringWithFormat を使用して文字列を作成したいと思います。
例:
[NSString stringWithFormat:@"%.8f",2.344383933];
[NSString stringWithFormat:@"%.8f",2.0];
予想された結果:
2.344383933
2
正しいフォーマットはどれですか?
ありがとうございました。
最後に不要なゼロを付けずに、double 値から stringWithFormat を使用して文字列を作成したいと思います。
例:
[NSString stringWithFormat:@"%.8f",2.344383933];
[NSString stringWithFormat:@"%.8f",2.0];
予想された結果:
2.344383933
2
正しいフォーマットはどれですか?
ありがとうございました。
数値の書式設定専用のクラスがありますNSNumberFormatter
。
let formatter = NSNumberFormatter()
formatter.maximumFractionDigits = 8
print("\(formatter.stringFromNumber(2.344383933))")
print("\(formatter.stringFromNumber(2.0))")
NSNumberFormatter
ローカリゼーション (小数点、区切り記号のグループ化) も行います。
使用するNSNumberFormatter
[numberFormatter numberFromString:[NSString stringWithFormat:@"%.8f",0]]
サンプル:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
NSLog(@"1: %@",[numberFormatter numberFromString:[NSString stringWithFormat:@"%.8f",2.344383933]]);
NSLog(@"2: %@",[numberFormatter numberFromString:[NSString stringWithFormat:@"%.8f",2.0]]);
結果:
1: 2.344383933
2: 2