我知道这很可悲,但是当我有一个NSString
并且我希望它有一个int
值时,我会使用%d
它里面的字符串值。我有什么用BOOL
。我试过%b
了,但什么也没做。它是什么?
问问题
65 次
5 回答
1
只需使用 %d,BOOL 是一个整数。
于 2012-11-14T16:17:37.013 回答
1
听起来这些对应于printf
格式说明符,它缺乏打印布尔值的能力。
您可以%d
像使用整数(它是)一样使用它,或者在它为真时打印两个字符串之一:%s
作为格式说明符,参数在(b) ? "true" : "false"
哪里b
是你的BOOL
变量。
注意:这是从 C 程序员的角度来看的;您可能必须稍微不同地编写这些字符串常量。如果%s
这里的说明符需要一个NSString
,您可能应该使用@"true"
and@"false"
来代替。
于 2012-11-14T16:22:49.823 回答
1
如果你想要更易读的东西,你总是可以定义一个宏来给你可读的输出
#define STRING_FROM_BOOL(b) (b ? @"YES" : @"NO")
NSLog(@"%@", STRING_FROM_BOOL(NO)); //=> NO
于 2012-11-14T16:23:45.157 回答
0
正在考虑类似的事情:
NSString* num = @"1";
BOOL b = [num intValue];
于 2012-11-14T16:16:23.110 回答
0
这里没有布尔print_f ref的说明符
于 2012-11-14T16:19:02.983 回答