objective-c - 需要帮助舍入数字( float )

标签 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: 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/

相关文章:

objective-c - cocoa-如何使用tableViewSelectionDidChange :?

ios - 检查按下了哪些订单按钮 Objective-C

objective-c - 使用 NSBezierPath 快速绘制至少 4000 个线段

ios - IOS 类型的空变量

objective-c - 多个 Xcode 安装

objective-c - 为什么在 Cocoa 编程中传递 &error 而不是错误?

ios - 用户定义的运行时属性是否仅适用于自定义类?

ios - 在 swift xcode 中向屏幕添加边框

ios - 如何通过命令行参数设置 NSDictionary 用户默认值?

ios - 如何在 iPhone 上实现自定义键盘弹出