Delphi中类型如何转换?
x := integer(Edit1.Text);
y := integer(Edit2.Text);
z:= x+y;
Label3.Caption := inttostr(z);
当x=1 , y=1 时 z的输出为27955424
到底是为什么? 怎样输出时正确的?
x:=strtoint(Edit1.Text);
y:=strtoint(Edit2.Text);
z:=x+y;
Label3.Caption := inttostr(z);
谢谢!!
那为什么这样写是正确的?
strtoint把字符串转换为整型,才能相加
那我用integer 强转为什么就不可以了呢?
delphi是强类型语言,不可以就是不可以
integer ,你用它把字符串类型强制转换为整形,没听说过这样强制转的
人家delphi已经给你相应的函数了strtoint,你就用人家的呗
因为Text类型为里面存放的是指针啊
integer(Edit1.text)的到地是指针值
正解,不要把JAVA、C++等的类型转换带进来
如上
Delphi(Pascal) code:
[Quote=引用 1 楼 de410 的回复:]
x:=strtoint(Edit1.Text);
y:=strtoint(Edit2.Text);
z:=x+y;
Label3.Caption := inttostr(z);
[/Quote]
稍微改进下,否则要用到try
x:=strtointdef(Edit1.Text,0);
y:=strtointdef(Edit2.Text,0);
z:=x+y;
Label3.Caption :=
相关问答:
我在模块里自定义了一个函数:stradd()
可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...
这个问题有什么办法可以解决的吗? 非常感激!
(在A ......
返回的内容是如下代码,怎么能渠道2b?
<p class="text1">1a </p>
<p class="text1">2b </p>
<p class="text1">3c </p>
<p cl ......
一般都是怎么接活的?
收入怎么样
sohu?soho?
sohu 可能是small office house unit
小办公室,把家变成单位。
去威客网啊,很多个呢,还有外包的网站
学习学习。
现在Delphi做东西不行了,处于淘汰状 ......
void CAutoMsgDlg::OnBnClickedButton1()
{
CInternetSession netSession;
CHttpConnection *pHttpConn;
CHttpFile *pFile;
CString &nb ......