思考者

xydrj's blog

博客园 首页 新随笔 联系 订阅 管理

在delphi混合运算表达式中,赋值号“=”号两边的类型的要求是很严格的,不同的类型不能进行赋值。
如:val
           i:integer;
           j:single;
begin
   i := 3;  
  j := 4.0;
  i := i + j;//这一句编译时给出这样一个错误提示:
//[Error]...incompatible types:'ingeger' and 'Extendend'.
 j := i + j;//这一句则正确。
 edit1.text := format('共做了%d,共做对%d道题!',[i,j]);
//这一句错误,因为j为单精度实型,而后一个%d指的integer型。把它改成%f就对了。

i  :=  i  + j;,在VC++中,可以通过编译,但编译时给出一个警告信息:conversion from 'const double' to 'int', possible loss the data.

posted on 2004-07-16 16:51  思考者  阅读(270)  评论(0)    收藏  举报