Edited at

NSNumberを文字列化する

More than 3 years have passed since last update.

stringValueを使うと、


ちょっとちっちゃくなったり

NSNumber *num = @66.6;

NSLog(@"%f", num.doubleValue);//66.600000
NSLog(@"%@", num.stringValue);//66.59999999999999


ちょっとおっきくなったり

NSNumber *num = @99.9;

NSLog(@"%f", num.doubleValue);//99.900000
NSLog(@"%@", num.stringValue);//99.90000000000001

しちゃうことがあるので、面倒でも、


stringWithFormat

NSNumber *num = @66.6;

NSLog(@"%@", [NSString stringWithFormat:@"%f",num.doubleValue]);//66.600000

とか、


NSNumberFormatter

NSNumber *num = @99.9;

NSNumberFormatter *nf = NSNumberFormatter.new;
nf.numberStyle = NSNumberFormatterDecimalStyle;
NSLog(@"%@", [nf stringFromNumber:num]);//99.9

を使った方が良さそうです。