将布尔值转换为整数,true返回-1?

45

我正在处理一些使用 VB.NET 的代码,这些代码似乎是通过 CInt(myBoolean) 将布尔值转换为整数。奇怪的是,如果这个值为 true,则返回 -1。例如:

CInt(True)  // returns -1
CInt(False) // returns 0

在其他编程语言中是否也是这样的呢?

我原本认为布尔值表示真时应该是1,假时应该是0。还有,是否有办法让Visual Basic将true赋值为1而不是-1?

11个回答

0

我可能有点晚了,但这里有一个简单的解决方法来接收典型的1表示True和0表示False。

将布尔值与-1相乘,如下所示:

CInt(True) * -1
CInt(False) * -1

然后返回

1
0


目前你的回答不够清晰。请编辑并添加更多细节,以帮助其他人理解它如何回答所提出的问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community
它并没有解释任何东西,正如所要求的那样。 - Gert Arnold

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