Objective c 需要帮助舍入数字(浮动)

Objective c 需要帮助舍入数字(浮动),objective-c,ios,cocoa-touch,floating-point,rounding,Objective C,Ios,Cocoa Touch,Floating Point,Rounding,在下面的代码中,我希望满足if(isKgs)的数字四舍五入到一个小数点 例如,现在它给了我2.2643534543,但我只想要2.3 有什么想法吗 NSNumber *weightInPounds = [self.pickerArray objectAtIndex:row]; NSNumber *weightInKilos = [[DDUnitConverter massUnitConverter] convertNumber: weightInPounds fromUnit: DDMassUn

在下面的代码中,我希望满足
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]);

@费萨尔帮了忙吗?你需要进一步的帮助吗?