|
下面的代码 我想对 sl //实领 字段进行四舍五入 应该如何实现
procedure TGZB4.DataNavigatorAfterAction(Sender: TObject);
var
jbgz,jbjj,jk,sk,sk1,sl ouble;
begin
if (TBizDataSetAction(Sender).ID = BizActnConsts.ActionDataSetSave) then
begin
DataSetBroker1.DataSet.Open;
DataSetBroker1.DataSet.First;
while not DataSetBroker1.DataSet.Eof do
begin
jbgz := 0; //基本工资
jbjj := 0; //基本奖金
jk := 0; //基扣
sk := 0; //税扣
sk1 := 0; //失扣
sl := 0; //实领
jbgz := DataSetBroker1.DataSet.FieldByName('jbgz').AsFloat;
jbjj := DataSetBroker1.DataSet.FieldByName('jbjj').AsFloat;
jk := DataSetBroker1.DataSet.FieldByName('jk').AsFloat;
sk := DataSetBroker1.DataSet.FieldByName('sk').AsFloat;
DataSetBroker1.DataSet.Edit;
if((jbgz + jbjj - jk - sk -1600) > 0) and ((jbgz + jbjj - jk - sk -1600) <=500) then
begin
sk1 := (jbgz + jbjj - jk - sk-1600)*0.05;
DataSetBroker1.DataSet.FieldByName('sk1').AsFloat := sk1;
end
else
if((jbgz + jbjj - jk - sk -1600) > 500) and ((jbgz + jbjj - jk - sk -1600) <=2000) then
begin
sk1 := (jbgz + jbjj - jk - sk-1600)*0.1-25;
DataSetBroker1.DataSet.FieldByName('sk1').AsFloat := sk1;
end
else
if((jbgz + jbjj - jk - sk -1600) > 2000) and ((jbgz + jbjj - jk - sk -1600) <=5000) then
begin
sk1 := (jbgz + jbjj - jk - sk-1600)*0.15-125;
DataSetBroker1.DataSet.FieldByName('sk1').AsFloat := sk1;
end;
sl := jbgz+jbjj - jk - sk - sk1;/////////////
DataSetBroker1.DataSet.FieldByName('sl').AsFloat := sl;/////////////如何四舍五入
DataSetBroker1.DataSet.Post;
DataSetBroker1.DataSet.Next;
end;
datasetbroker1.DataSet.ApplyUpdates;
datasetbroker1.DataSet.Refresh;
end ;
end; |
|