【Objective-C】float(小数点を持つ数値を扱うことの出来る型)で整数か小数点以下があるかの判別式でNSStringを返す【Xcode10.2対応】
こういう人に向けて発信しています。
・小数点以下を含む場合は少数第二位まで表示してほしい人
・小数点がない場合は整数で返して欲しい人
・Objective-C初心者
コード(Objective-C)
- (void)viewDidLoad {
[super viewDidLoad];
NSString *string = [self floatCheck:1];
NSLog(@"%@",string);
}
-(NSString *)floatCheck:(float)f{
NSString *floatString = [NSString stringWithFormat:@"%.2f",f];
NSRange range = [floatString rangeOfString:@".00"];
if (range.location == NSNotFound) {
//小数点を含む場合
return floatString;
}
return floatString = [NSString stringWithFormat:@"%.0f",f];
}
引数で1、1.20、3.54など渡しています。
解説
まず初めにfloat型を少数第二位までStringにします。
その後、Stringに.00が含まれるかチェックします。
整数の場合は.00が含まれるはずです。
その場合は小数なしでNSStringに変換してあげて、
返しています。
もし.00が無い場合は小数第二位まで含むStringで返しています。