回 帖 发 新 帖 刷新版面

主题:MID$(a,b,c)

MID$(a,b,c)其中的a,b,c代表什么含义?

回复列表 (共11个回复)

沙发

a:字符串表达式
b:开始位置
c:长度

板凳

a:字符串变量
b:开始位置
c:长度

3 楼

IF BIT%(q + 3) = 1 THEN
          sbuf$(11 + q) = "Transistor #" + MID$(STR$(q), 2, 1) + " is blocking."
        ELSE
          sbuf$(11 + q) = "Transistor #" + MID$(STR$(q), 2, 1) + " is not blocking."
        END IF
      NEXT q

这其中的 MID$(STR$(q), 2, 1) 应该如何理解?

4 楼

取STR$(q),从第2位开始,取1位。

5 楼


q本来就一位啊  怎么从第二位开始取呢?

6 楼

str$(1) 得到的字符串应该是 " 1"
长度两位,前面有一个空格是符号位,
一般在数字转换字符串形式时,大多数都需要把前导空格去掉,
例如 ltrim$(str$(1234))
按照上面的 mid$(str$(1),2,1) 也能达到相同的效果.
只是假如是负数的话,会把负号也一起去掉.
假如 mid$( ) 的字符串只有一位,而从第二位取起,会得到一个空串,
如: mid$("1",2,1)

但,如果知道数值是一个一位的正整数,
也就是说只是一个数字.
用 chr$(48+q) 会更方便更高效.

7 楼

MID$(a, b, c)是从字符串a的左起第b个位置取c个字符,其中a是字符串类型。

如果要想取a的左起第b个字符到左起第c个字符之间的所有字符(c>b):

                     MID$(a, b, c-b+1)


8 楼

MID$还可以当作语句使用,格式为MID$(a, b, c) = d

作用是把字符串a的左起第b个字符开始的c个字符替换为字符串d。其中a是字符串变量,d是字符串。

但是有特殊情况:

(1)如果字符串d的长度大于c,则只取字符串d的前c个字符,后面的字符舍弃。如:
a$="11223344"
MID$(a$,4,3)="12345",执行后a$的值为11212344.

(2)如果d的长度小于c,则只替换(d的长度)个字符,如:
a$="abcdefg"
MID$(a$,3,3)="xy",执行后a$的值为abxyefg.

9 楼

IF j% = 15104 THEN
        IF mode%(4) = 28 THEN
        mode%(4) = 12          'Q1 OFF
        ELSE
        mode%(4) = 28          'Q1 ON
        END IF
        ELSEIF j% = 15360 THEN
        IF mode%(4) = 60 THEN
        mode%(4) = 12         'Q2 OFF
        ELSE
        mode%(4) = 60         'Q2 ON
        END IF
        ELSEIF j% = 15616 THEN
        IF mode%(4) = 92 THEN
        mode%(4) = 12         'Q3 OFF
        ELSE
        mode%(4) = 92         'Q3 ON
        END IF
        ELSEIF j% = 15872 THEN
        IF mode%(4) = 124 THEN
        mode%(4) = 12         'Q4 OFF 
        ELSE
        mode%(4) = 124        'Q4 ON
        END IF

其中的j% = 15360 的值这么大 代表什么呀,还有 下一个的J 都比上一个的J 大256  有什么说法吗

10 楼

(回答5楼的问题)如果开始位置超过了整个字符串的常度,取得的就是空串。哦,变量Q是数啊?是Q$吧?
[em18][em18]

我来回复

您尚未登录,请登录后再回复。点此登录或注册