Delphi 5.0 有没有四舍五入的函数? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function xxxx(value:extended):int64;begin if value-trunc(value)>=0.5 then result:=trunc(value)+1 else result:=trunc(value)end; Round 函数 将实数值舍入为整型值 四舍五入到百分位:Round(n*100)/100; //输出为浮点数n 为操作数,其它情形照搬即可。 天这么简单也问用format函数 round(浮点数):integer;取最小整数。Floor(浮点数):integer; 最好不用round,有时会算错! 自产函数,可以借鉴//==============================================================================//标准四舍五入进位**************************************************************//==============================================================================function StanRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;var LFactor: Double;begin LFactor := IntPower(10, ADigit); Result := (Trunc(AValue / LFactor) + IfThen(Frac(AValue / LFactor)>=0.4999, 1, 0)) * LFactor;end;//==============================================================================//强制向上进位******************************************************************//==============================================================================function OverRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;var LFactor: Double;begin LFactor := IntPower(10, ADigit); Result := (Trunc(AValue / LFactor) + IfThen(Frac(AValue / LFactor)>=0.0999, 1, 0)) * LFactor;end;//==============================================================================//强制向下进位******************************************************************//==============================================================================function DownRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;var LFactor: Double;begin LFactor := IntPower(10, ADigit); Result := (Trunc(AValue / LFactor) + IfThen(Frac(AValue / LFactor)>=0.9999, 1, 0)) * LFactor;end; delhpi 界面问题。 这个(dxdbtrel.dcu)是什么控件用??(急) 关于一个创建access库,但在创建时要密码的问题 TImage控件 特急:操作数据库的问题??? 为什么安装完swFlash.ocx后,退出delphi再次进来时,Flash控件消失? 关于ADOQuery的问题??? 一个简单的问题,-----(fastreport)————在线守侯 毫米与像素的换算关系是什么?已知分辨率.还需要什么条件? 討論ActiveX、OLE、COM三者的區別與聯系 编译警告怎么办? 急!!!!!帮忙回答一个问题!
begin
if value-trunc(value)>=0.5 then
result:=trunc(value)+1
else
result:=trunc(value)
end;
这么简单也问
用format函数
取最小整数。Floor(浮点数):integer;
//==============================================================================
//标准四舍五入进位**************************************************************
//==============================================================================
function StanRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;
var LFactor: Double;
begin
LFactor := IntPower(10, ADigit);
Result := (Trunc(AValue / LFactor) + IfThen(Frac(AValue / LFactor)>=0.4999, 1, 0)) * LFactor;
end;
//==============================================================================
//强制向上进位******************************************************************
//==============================================================================
function OverRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;
var LFactor: Double;
begin
LFactor := IntPower(10, ADigit);
Result := (Trunc(AValue / LFactor) + IfThen(Frac(AValue / LFactor)>=0.0999, 1, 0)) * LFactor;
end;//==============================================================================
//强制向下进位******************************************************************
//==============================================================================
function DownRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;
var LFactor: Double;
begin
LFactor := IntPower(10, ADigit);
Result := (Trunc(AValue / LFactor) + IfThen(Frac(AValue / LFactor)>=0.9999, 1, 0)) * LFactor;
end;