以小时数计算小时数的总工作时数

时间:2011-12-09 07:32:26

标签: actionscript-3 flex flex3

我正在使用FLEX 3.0版 我想计算总工时。我正在向您提供详细信息以及我在其中所做的工作。

var a:Number = 2.00;
            var b:Number = 2.00;
            var c:Number = 1.45;
            var d:Number = 1.30;

            var total:Number = a+b+c+d;
            var totalmin:int = total;
            var temp:Number = total - totalmin;
            var tem2:Number = 0.60 - temp; 
            var workhour:Number = 0;

            while(total >= 0)
            {
                workhour += 1;
                total -= 1.00;  
            }

            var tot:Number = workhour + tem2;

            txtTotal.text = tot.toString();

我希望结果7.15不是6.75。 目前我得到6.85 ...请帮助解决这个问题。

提前感谢。

3 个答案:

答案 0 :(得分:1)

我想问题是你正在使用十个基于值的值,但是小时是基于60的值。因此,1.5小时并不意味着150分钟,如十进制系统(例如1.5米意味着150厘米),但90分钟。

我的建议:使用原生Date类,或选择仅在单元中工作以保持数学一致。但Date类是为了这些目的而制作的。提取两个Date.getTime(),然后将结果转换为新的Date,可以得到你想要的结果。

答案 1 :(得分:0)

你想要什么

        var a:Number = 2.00;
        var b:Number = 2.00;
        var c:Number = 1.45;
        var d:Number = 1.30;

        var total:Number = a+b+c+d;
        var totalmin:int = total;
        var temp:Number = total - totalmin;
        var tem2:Number = temp - 0.6; // !!!This line changes!!!
        var workhour:Number = 0;

        while(total >= 0)
        {
            workhour += 1;
            total -= 1.00;  
        }

        var tot:Number = workhour + tem2;

        txtTotal.text = tot.toString();

答案 2 :(得分:0)

我在这个上做了很多工作,找到了一个有趣的问题...... 我已经找到了正确答案。继续发布那些有趣的问题。

这是代码。

var a:Number = 2.23;
var b:Number = 2.36;
var c:Number = 1.18;
var d:Number = 1.13;

var totalHours = 0.0;

var inta:int = a;
var numa:Number = a - inta;
var intb:int = b;
var numb:Number = b - intb;
var intc:int = c;
var numc:Number = c - intc;
var intd:int = d;
var numd:Number = d - intd;


var total:int = inta + intb + intc + intd;
var totalsec:Number = numa + numb + numc + numd;
var tempsec:int = totalsec * 100; 

var temp:int = tempsec/60;

total += temp;

var sec:Number = tempsec - (temp*60);

sec = sec/100;

totalHours = total + sec;

txtTotal.text = totalHours.toString();