【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で返しています。


いいなと思ったら応援しよう!