H huizhang Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-14 #4 Trunc的最接近函数是Int, Trunc返回的是整数, Int返回的是一个实数的整数部分但是类型还是实数
L longyinquan Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-15 #5 trunc是做什么用的?对不起,小弟实在有些菜。:)
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-15 #7 trunc本身只是截取,除零错误是你自己的问题吧?
M mafan Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-15 #8 i开头的是INTEGER,F开头的是SINGLE 错误第一种: i1:=i0+100; f1:=i1/50; i2:=trunc(f1) //出现除零错误,这里如果用ROUND就不出错 错误第二种: i1:=i0+100; f1:=i1/50; f2:=int(f1) //出现除零错误 i2:=round(f2) 原因可能是刚刚调用了一个外部的DLL
i开头的是INTEGER,F开头的是SINGLE 错误第一种: i1:=i0+100; f1:=i1/50; i2:=trunc(f1) //出现除零错误,这里如果用ROUND就不出错 错误第二种: i1:=i0+100; f1:=i1/50; f2:=int(f1) //出现除零错误 i2:=round(f2) 原因可能是刚刚调用了一个外部的DLL
吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-15 #10 用Round()是四舍五入的,Trunc()是取整,抹掉小数点后的数。试试吧。 var FF : Double; begin FF := 32143214.74435345324; ShowMessage('Trunc:' + FloatToStr(Trunc(FF)) + #13 + 'Round:' + FloatToStr(Round(FF))); end;
用Round()是四舍五入的,Trunc()是取整,抹掉小数点后的数。试试吧。 var FF : Double; begin FF := 32143214.74435345324; ShowMessage('Trunc:' + FloatToStr(Trunc(FF)) + #13 + 'Round:' + FloatToStr(Round(FF))); end;
M mafan Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-15 #12 我只是想知道都会有什么可能造成TRUNC和INT出现除零错误,并非真的要一个TRUNC 的替代函数,但关键是如果会有错误发生,它迟早会发生的!