在ActionScript中,如何将字符串转换为布尔值?

6
我有以下代码:

var bool:String = "true";

没有if块或switch语句,如何将其转换为布尔对象?

我不知道如何直接将其转换为布尔对象,但请注意,您并不一定需要它成为布尔对象。这完全取决于“false”的定义方式;如果可以将其设置为 null 字符串表示“false”,则可以像使用布尔对象一样简单地说 if(bool){whatever;} 。 - jhocking
1个回答

18

您可以使用:

var boolString:String = "true";
var boolValue:Boolean = boolString == "true"; // true
var boolString2:String = "false";
var boolValue2:Boolean = boolString2 == "true"; // false

编辑

下面的评论建议使用

var boolValue:Boolean = (boolString == "true") ? true : false;

这只是无端复杂化代码,因为评估发生在以下部分:
(boolString == "true")

使用三元运算符等价于:

var tempValue:Boolean = boolString == "true"; // returns true: this is what I suggested
var boolValue:Boolean = tempValue ? true : false; // this is redundant

7
@Marcx 发送一个表情符号并不能让你变得正确。sch 是对的,而你则不是。 - Sam DeHaan
我认为他的回答不正确... 根据他的示例,boolValue2应该是 false,但实际上它是 true... - Marcx
@Marcx - 我在发布之前已经测试了代码,boolValue2 的结果如预期一样是 false - sch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接