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

然后去远足 2013-03-29 10:40:49
看说明 Sgn(number)

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

为何Sgn(3 > 2)返回-1 ?
...全文
829 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2013-03-30
  • 打赏
  • 举报
回复
3>2值=-1
捧剑者 2013-03-30
  • 打赏
  • 举报
回复
vb中以-1表示真。
东方之珠 2013-03-30
  • 打赏
  • 举报
回复
看来教材误导大家。VB.net早期的教材确实说过True的底层值为1。也许微软是为了保持兼容性,在后来的高版本中又改回来了(猜测而已)。 另外,在用Cbool转换过程中,凡是非0都转换成了TRUE,0转换成FALSE。 看看这个就明白了:http://zhidao.baidu.com/question/85497221.html
bcrun 2013-03-30
  • 打赏
  • 举报
回复
唉,这些常数值的管理混乱是令人头痛的事。 不过我刚才在vb.net里测试了下,并非如4楼说的那样:
		Me.Text = CLng(True).ToString()
		Me.Text += CLng(3>2).ToString()	'-1-1
东方之珠 2013-03-30
  • 打赏
  • 举报
回复
-1是VB6的底层值,表示布尔变量值为True。 在VB.Net中,这个底层值有所改变,为1。
bcrun 2013-03-30
  • 打赏
  • 举报
回复
引用 1 楼 wangmu7206 的回复:
vb中以-1表示真。
对啊 ?clng(3>2) -1

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧