围绕NSNumber

Asp*_*ean 5 rounding nsnumber ios

NSNumberFormatter *formatNumber = [[NSNumberFormatter alloc] init];
[formatNumber setRoundingMode:NSNumberFormatterRoundUp];
[formatNumber setMaximumFractionDigits:0];

NSNumber *height = [formatNumber numberFromString:self.heightField.text];
NSNumber *width = [formatNumber numberFromString:self.widthField.text];
NSNumber *depth = [formatNumber numberFromString:self.depthField.text];
NSNumber *weight = [formatNumber numberFromString:self.weightField.text];

NSLog(@"height %@", height);
NSLog(@"width %@", width);
NSLog(@"depth %@", depth);
NSLog(@"weight %@", weight)
Run Code Online (Sandbox Code Playgroud)

我正在尝试将UITextField的高度,宽度,深度和重量四舍五入到最接近的整数,但它仍然显示整个小数点.有人可以协助我的代码进行整理吗?

谢谢.

Pet*_*ese 10

没有仪式和现代目标C:

NSNumber *roundedUpNumber = @(ceil(self.field.text.doubleValue));
Run Code Online (Sandbox Code Playgroud)


Dav*_* Xu 5

你可以用它

NSString *numericText = self.field.text;
double doubleValue = [numericText doubleValue];
int roundedInteger = ceil(doubleValue);
NSNumber *roundedUpNumber = [NSNumber numberWithInt:roundedInteger];
Run Code Online (Sandbox Code Playgroud)

摘要:

  • doubleValue将您的字段转换为 double
  • ceil将double加倍到最接近的整数
  • cast to int将double转换为整数
  • 从整数构造NSNumber.