起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 212|回复: 1

关于代码的问题[请求]**

[复制链接]
发表于 2007-4-3 11:13:26 | 显示全部楼层 |阅读模式
下面的代码 我想对 sl     //实领 字段进行四舍五入 应该如何实现
procedure TGZB4.DataNavigatorAfterAction(Sender: TObject);
var
   jbgz,jbjj,jk,sk,sk1,slouble;
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;
回复

使用道具 举报

发表于 2007-4-3 11:15:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-18 14:57 , Processed in 0.041041 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表