const
pi=3.1415926;
procedure TForm1.Button1Click(Sender: TObject);
Var
x,y : real;
begin
x := sin(pi);
y := sin(30*pi/180);//结果为0.499998548888605;应该是一个正确的值;
y := roundto(sin(30*pi/180),-2);//第二个参数为保留小数点后几位小数,四舍五入;结果=0.5;
y :=round(sin(30*pi/180);//返回保留整数部分,四舍五入,结果为0;
y:=ceil(Sin(30*pi/180));//返回一个不小于变量值的最小整数;结果为1;
y:=trunc(Sin(30*pi/180)); {将实数的小数部分舍去使之成为一个整数。函数返回值为64位整数,
如超出64位整数表示范围,则引发一个EInvalidOp异常。}
end;
如果不定义pi的值,系统会调用math.pas单元中已经定义的pi函数,得到的y的值为0.5是正确的,而X的值也不是不正确,需要进行四舍五入,因为X的值是一个以科学计数法表示的浮点数
y=0.5 是正确的
y = sin30°=0.5
X不正确
很久没有做过类似的数学题了,你觉得正确的答案应该是多少啊?