一个怪问题(100分)

  • 主题发起人 主题发起人 zengyi
  • 开始时间 开始时间
Z

zengyi

Unregistered / Unconfirmed
GUEST, unregistred user!
我用这个函授转换出来的结果是CC3420
INTTOHEX(integer(trim(copy('12',1,2))),2);
这是怎么回事啊,
 
我的结果是C3379C
trim函数的返回结果是'12',类型是String;
你用Integer(String)进行了强类型转换,得到的是一个地址的
指针(trim返回'12'的地址指针)
没有错啊?


 
能不能说清楚点啊
 
不知道你要实现什么功能,
应该这样:
INTTOHEX(StrToInt(trim(copy('12',1,2))),2);
 
我用这个函授转换出来的结果是CC3420
INTTOHEX(integer(trim(copy('12',1,2))),2);
这是怎么回事啊,我想的到的是一个16进制的数
想的到的结果是0C,INTTOHEX这个函数据不是把10进制转换成16进制吗,为什么会的到这个长度为6位的数啊,难到说是的到的是地址
 
你是否想得到的结果是 '0C'(就是12的Hex) ?
INTTOHEX(integer(trim(copy('12',1,2))),2);
copy('12',1,2) --> '12',String类型
trim(copy('12',1,2)) --> 还是'12' ,String类型
integer(trim(copy('12',1,2)),2) -->就不是'12'了,而是'12'的地址,Integer类型,
怎可能得到 '0C'呢?
这样写: INTTOHEX(StrToInt(trim(copy('12',1,2))),2);
才可能是 '0C'

 
你写
S := '123456'
Integer(S),并不会得到123456,S是一个指针
 
s实际是字符串的首地址。。。
 
INTTOHEX(StrToInt(copy(trim('12'),1,2)),2);
 
我晕,你这是显示那个字符串'12'的地址,当然有问题了,改成这样即可:

INTTOHEX(StrToIntDef(trim(copy('12',1,2)), 0),2);
~~~~~~~~~~~
 
后退
顶部