舍入到小数点后n位

时间:2014-08-20 16:28:05

标签: ios objective-c ios7

在Objective-C中,当 n 是变量时,如何将数字舍入到 n 小数位(即我不能使用像%.2f这样的东西)。舍入应如下(如果 n 等于2):

  • 12.224 - > 12.22
  • 12.225 - > 12.23
  • 12.3 - > 12.30
  • -12.225 - > -12.23

注意:使用(如果 n 为2)乘以100,舍入,除以100不是一个选项,因为 n 可能相当高,并且将是 n 的高值的小错误。

1 个答案:

答案 0 :(得分:5)

您可以使用星号在运行时将n传递给格式化函数:

NSString *formatted1 = [NSString stringWithFormat:@"%.*f", 2, 12.224];
// Produces @"12.22"
NSString *formatted2 = [NSString stringWithFormat:@"%.*f", 2, 12.225];
// Produces @"12.23"