NSString stringWithFormat问题

时间:2010-11-08 10:17:59

标签: objective-c nsstring stringwithformat

我有这样的问题: double calcValue;

NSString *buf = [NSString stringWithFormat:@"%14f", myCalculator.calcValue];

buf =“7.142857”;

而不是

buf =“7.1428571428571423”;

我尝试以这种方式格式化它:@“%f”。 但是当我在逗号显示后尝试了@“%14.9f”9个符号时。

问题是什么?我该如何解决?感谢名单!

2 个答案:

答案 0 :(得分:3)

除非我误解,否则正确的格式为@"%.14f

你做了什么,@"%14f"表示你想要在十进制数之前最多14位数,但你没有指定数字。

答案 1 :(得分:1)

我不确定原因,但stringWithFormat:似乎没有正确地格式化双打。您可以尝试这种方法:

double calcValue=7.1428571428571423;
NSString *buf=[[NSNumber numberWithDouble:calcValue] stringValue];

buf设置为@"7.142857142857142"

为了更严格地控​​制数字位数,您可以使用NSNumberFormatter