请教进制转换(50分)

  • 主题发起人 主题发起人 待飞
  • 开始时间 开始时间

待飞

Unregistered / Unconfirmed
GUEST, unregistred user!
我用一个inttohex函数进行十进制数到十六进制数的转换,
就按帮助上格式写的,但它提示我
There is no overloaded version of 'IntToHex' that can be called with these arguments.
这是为什么呀
 
我们先看一下函数:
function IntToHex(Value: Integer; Digits: Integer): string; overload;

value:需要转换的数字;
digits:转换后的字符最少有几位。比如:
将1转换为16进制,如果digits为2的话,得到结果:01;如果digits为4的话,结果为0001。

你要知道:这个函数返回的是字符串:)


 
showmessage(IntToHex(12,4));
 
没说清楚
 
如commandor所说
inttohex函数中的Value其实是输入的十进制数字
Digits是转换后的字符最少有的位数
inttohex转换十进制数为十六进制时返回的值是字符
可以直接用于输出。
linsb说的
showmessage(IntToHex(12,4));
更说明这一点,要知道showmessage()中的内容就是字符串
看我的一段代码:
var
intinput:integer;//输入的十进制数
outhex:string;//输出的十六进制字符

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
intinput:=strtoint(edit1.Text);
outhex:=inttohex(intinput,4);
label2.Caption:=outhex;
showmessage('转换完毕!');
end;

其他的大家都能看懂了.
————————————————————————————
我也是菜鸟,愿大家一起步步高!
 
接受答案了.
 
什么意思?
xiaoyaozh:没说清楚
还得分?
 
不公平!!
可怜我白给你回答问题!!
 
后退
顶部