objective-c stringvalue from double
我有以下代码:
double d1 = 12.123456789012345; NSString *test1 = [NSString stringWithFormat:@"%f", d1]; // string is: 12.123457 NSString *test1 = [NSString stringWithFormat:@"%g", d1]; // string is: 12.1235
如何获得与d1完全相同的string值?
它可以帮助你看看苹果公司的string格式说明符指南。
%f 64-bit floating-point number %g 64-bit floating-point number (double), printed in the style of %e if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise
也读了浮点数(精度) ,当然每个计算机科学家应该知道的浮点算术 。
如果你真的希望string完全匹配double,那么使用NSString
对它进行编码,并在需要时调用doubleValue
。 也看看NSNumberFormatter
。
怎么样
NSString *test1 = [NSString stringWithFormat:@"%.15f", d1];
或者干脆去双倍
NSString *test1 = [NSString stringWithFormat:@"%lf", d1];