1

我需要让 NSNumber 只显示 4 个小数点。这部分代码是有效的,但它输出的结果没有前导零。

double resultRoundToDecimal = [result doubleValue];
    NSNumberFormatter *resultFormatter = [[NSNumberFormatter alloc] init];
    [resultFormatter setRoundingMode:NSNumberFormatterRoundHalfUp];
    [resultFormatter setMaximumFractionDigits:4];
    resultData = [resultFormatter stringFromNumber:[NSNumber numberWithDouble:resultRoundToDecimal]];

例如:1/3 = .3333

我想要:1/3 = 0.3333

我怎么能做到这一点?

4

2 回答 2

2

您也可以选择使用字符串格式化程序,如下所示

float val=1./3;

NSString *resultData=[NSString stringWithFormat:@"%0.4f",val];

NSLog(@"Result = %@",resultData);
于 2013-06-28T10:44:10.483 回答
0

在前面加上 0 或使用数字格式化程序。

NSString *printStr = @"0";
printStr = [NSString stringByAppendingString: resultData];

否则,您可以使用数字格式化程序或类似的东西。如果您只是输出一个字符串,为什么不这样做呢?

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNumberFormatter_Class/Reference/Reference.html

于 2013-06-28T10:21:04.570 回答