在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.
浙公网安备 33010602011771号