#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSLog(@"Hello, World!");
float a = 12.3454323;
NSLog(@"%d", a);
NSLog(@"%g", a);
[pool drain];
return 0;
}
嗨,我做了一个非常简单的程序来解释我的问题: 该程序的输出是:
第1行:一些随机数(394883904,或89374e-15或......) 2line:12.3454323
所以..我的问题:什么是@“%d”,什么是@“%g”).. 因为,如果a是INTEGER(int a = 156)
然后@“%d”给出156 BUT @“%g”给出8.32059e-315或类似的:))
我正在进行这些值的蓝牙传输,但这是我的问题,发送整数的位置然后显示它,它正在工作,但我必须检查什么是什么,所以,有任何教训关于@“%d”和类似的员工?当使用@“%d”和使用@“%g”时......还有其他@“%something”吗?谢谢
编辑:当然,零线是你好世界! :)
答案 0 :(得分:14)
%d
打印出一个整数,%g
打印出一个浮点数或双精度数。如果你给%da float或double,或%g一个整数,你会得到不正确的结果,可能会或多或少不等于*(int *)&floatVar
或*(double *)&intVar
所得到的结果。
字符串格式说明符的完整列表位于the documentation。