2013-02-01 80 views
0

我想在使用Pascal的Scar Divi上指定一个DoubleInteger变量。
下面是一个例子:如何将Double类型的变量赋值给Integer类型?

program Test;  
var 
    dou: Double; 
    int: Integer; 
begin 
    int := 1; 
    dou := 2.5; 

    dou := Trunc(dou); 

    int := int + dou; 
end. 

控制台给我Type mismatch。如何将Double类型的变量分配给Integer类型的变量?

+0

'int:= int + Integer(dou);' –

+0

不,我也试过。类型不匹配。 – GerardMT

+0

''int:= int + Trunc(dou);'' –

回答

1

相反

dou := Trunc(dou); {dou is still a variable of type double} 

int := int + dou; {adding double to integer returns double, 
        which cannot be assigned to integer -> ERROR} 

类型:

int := int + Trunc(dou); {adding integer to integer gives integer -> OK} 

另请注意,在某些情况下Round,返回最接近的整数,可能比Trunc更好。

相关问题