MyException - 我的异常网
当前位置:我的异常网» VB » Sgn(三 > 2)为何返回值为 -1

Sgn(三 > 2)为何返回值为 -1

www.myexceptions.net  网友分享于:2013-04-10  浏览:33次
Sgn(3 > 2)为何返回值为 -1?
看说明 Sgn(number)

number > 0 返回1
number = 0 返回0
number < 0 返回-1

为何Sgn(3 > 2)返回-1 ?

------解决方案--------------------
vb中以-1表示真。
------解决方案--------------------
唉,这些常数值的管理混乱是令人头痛的事。
不过我刚才在vb.net里测试了下,并非如4楼说的那样:
		Me.Text = CLng(True).ToString()
Me.Text += CLng(3>2).ToString() '-1-1

------解决方案--------------------
看来教材误导大家。VB.net早期的教材确实说过True的底层值为1。也许微软是为了保持兼容性,在后来的高版本中又改回来了(猜测而已)。
另外,在用Cbool转换过程中,凡是非0都转换成了TRUE,0转换成FALSE。
看看这个就明白了:http://zhidao.baidu.com/question/85497221.html

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有