在下面的代码中,我希望将满足if (isKgs)
的数字四舍五入到小数点后一位。
例如,现在它给我 2.2643534543
但我只想要 2.3
。
有什么想法吗?
NSNumber *weightInPounds = [self.pickerArray objectAtIndex:row];
NSNumber *weightInKilos = [[DDUnitConverter massUnitConverter] convertNumber: weightInPounds fromUnit: DDMassUnitUSPounds toUnit: DDMassUnitKilograms];
NSString *temp = [NSString stringWithFormat:@"%@ kgs", [weightInKilos stringValue]];
[self.firstComponentText setString:temp];
我相信来自选择器的数字类型是float
。
最佳答案
您可以使用 NSNumberFormatter
对象来格式化 NSNumber
对象。一个例子,
NSNumber * decimal = [NSNumber numberWithFloat:2.2643534543];
NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setRoundingMode:NSNumberFormatterRoundHalfUp];
[formatter setMaximumFractionDigits:1];
NSLog(@"%@", [formatter stringFromNumber:decimal]);
关于objective-c - 需要帮助舍入数字( float ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287117/