在VB里面,为什么sgn(3>2) 会返回 -1 而不是 1
a = InStr(5,"hello!Beijing.","e")
b = Sgn(3 > 2)
c = a + b
MsgBox c
这里msgbox c最后显示的为什么是7而不是9
人气:412 ℃ 时间:2020-06-18 12:01:12
解答
VB中函数Sgn(数值)用来返回数值的符号,如果“数值”>0,则返回1,如果“数值”<0,则返回-1,如果“数值”=0,则返回0.现在这个式子是Sgn(3>2),这里的形式是一个关系表达式,3>2的结果显示是True,现在的关键是布尔型的数值True需要转换成数值,然后才能得到其符号的.
在VB中,布尔型数值转换成数值型时,True对应-1,False对应0,现在3>2的结果为True,对应数值为-1,相当于变成Sgn(-1),当然其结果为-1了.如果Sgn(3<2),其结果为0.
推荐
猜你喜欢
- 历史上先有东晋还是西晋?
- 求初一下学期期中地理试题,晋教版的!
- 已知方程AX+3=2X-B,有两个不同解,求(A+B)的2007次方的值
- AB=AC,BAC=70,D为三角形ABC外一点,AD=AC,角BCD=120,求角BDC(全部分都送上~)
- 关于摩檫力的物理题
- 已知函数f(x)=log(2)(4-2x),若f(x)>2,求x的取值范围
- 长时间不停止.多用来形容掌声、情感等.这是什么成语意思
- 动力到支点的距离是阻力到支点距离的两倍,杠杆平衡时,动力是阻力的1/2 为什么?