round 函数是银行用的 采用了 四舍六入5留偶

网上找到了个实现方法   先乘1000,用Trunc取整,除10取余,余数再取整,如果大于5,进位,小于5不进位。

函数就好写了 现在只写一个保留两个小数的例子  用到的可以扩展一下

/// <summary>
/// 四舍五入
/// </summary>
/// <param name="iValue">值</param>
/// <returns>结果四舍五入保留两位小数</returns>
function TfrmCaiGouhuajiadan.GetRound(iValue: double): Double;
var
iTemp: integer;
iMod: Integer;
begin
//先乘1000,用Trunc取整,除10取余,余数再取整,如果大于5,进位,小于5不进位。 iTemp := Trunc(iValue * );
iMod := iTemp mod ; if Trunc(iMod) >= then
Result := (Trunc(iValue * ) + ) /
else
Result := Trunc(iValue * ) / ;
end;
05-11 10:59