我有这样一个问题:double calcValue;
NSString *buf = [NSString stringWithFormat:@"%14f", myCalculator.calcValue];
buf = "7.142857";
而不是
buf = "7.1428571428571423";
我尝试以这种方式对其进行格式化:@“%f”。但是当我在逗号显示后尝试 @"%14.9f" 9 个符号时。
有什么问题?我该如何解决?谢谢!
我有这样一个问题:double calcValue;
NSString *buf = [NSString stringWithFormat:@"%14f", myCalculator.calcValue];
buf = "7.142857";
而不是
buf = "7.1428571428571423";
我尝试以这种方式对其进行格式化:@“%f”。但是当我在逗号显示后尝试 @"%14.9f" 9 个符号时。
有什么问题?我该如何解决?谢谢!
除非我有误解,否则正确的格式是@"%.14f
.
你所做的,@"%14f"
说你想要最多 14 位数字,在小数点前,但你没有在后面指定数字。
我不知道为什么,但stringWithFormat:
似乎没有正确格式化双打。您可以尝试这种方法:
double calcValue=7.1428571428571423;
NSString *buf=[[NSNumber numberWithDouble:calcValue] stringValue];
这将设置buf
为@"7.142857142857142"
.
为了更严格地控制位数,您可以使用NSNumberFormatter
.