我有一个值为2.344的双精度值的字符串。现在我想将此数字的位数保留为从服务器获取的位数。所以我maxdecimalPlaces2然后我要的数值为2.34如果maxdecimalplaces3,那么我想将数字作为2.344

我不想使用[NSString StringwithFormat:@"%.2f",value];
因为小数位数是动态的。请告诉我如何解决此问题,

最佳答案

我maxdecimalPlaces是2然后我想要数字为2.34如果maxdecimalplaces是3然后我想要数字为2.344


使用setMaximumFractionDigits:并传递maxdecimalPlaces

  float inputValue = 2.344;
 NSNumberFormatter *Formatter = [[NSNumberFormatter alloc] init];
 [Formatter setNumberStyle:NSNumberFormatterDecimalStyle];
 [Formatter setMaximumFractionDigits:maxdecimalPlaces];
 NSString *finalOutput = [Formatter stringFromNumber:[NSNumber numberWithFloat:inputValue]];
 NSLog(@"finalOutput: %@", finalOutput)

09-30 11:54