project2010中工期计算出现小数,比如,9.9到9.20号工期显示11.88天,不应该是1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了project2010中工期计算出现小数,比如,9.9到9.20号工期显示11.88天,不应该是1相关的知识,希望对你有一定的参考价值。

project2010中工期计算出现小数,比如,9.9到9.20号工期显示11.88天,不应该是12天么?怎么样修改啊?

一般情况下有两个可能的原因,可能是其中一个原因导致的,也可能是两个原因都有:


1.   非工作日改成工作时间时,每天具体的工作时间不是上午8:00-12:00下午13:00-17:00

一定要注意,在更改工作时间时,如果你的项目工期都是以天为单位的,那么在将非工作日改成工作日时,一定要把这一天的工作时间设置成和默认的工作时间完全一样,即上午8:00-12:00下午13:00-17:00,如果不是这样,那么这一天就可能不再是8个小时了,而Project在计算时,你输入工期为1天,Project就会按照8个小时来计算。设想一下,如果把星期六的工作时间设置成上午9:00-12:00下午13:00-17:00,那么周六的工作时间就是只有7个小时,加入一个任务从星期五开始,工期为2天,那么其完成时间就不是周六了,而应该是星期一(继续假设星期天不上班),为什么呢?Project在计算2天时实际上是按照16个小时算的,那么星期五有8个小时,星期六有7个小时,还需要星期一的1个小时8:00-9:00,所以该任务的完成日期就成了星期一了,只不过它在星期一的早上9:00就完成了。

所以,一定要仔细检查一下是不是有上述问题,有的时候日历中的很多默认设置都修改了,那就要逐一去查看一下。


2.   在“选项”-->"通用"里面把日期格式改成带几点几分的形式,如下图。然后检查一下所有任务的开始时间是不是都是早上8点开始的,由于软件的种种原因,有时候我们的计划里有些任务不是早8点开始的,而我们又看不到,因为我们没有主动设置过,但是这就造成计算工期时出现了小数点。

 

   

 

张连永

MicrosoftProject 项目管理实战应用培训讲师

企业内训、公开课

lianyong.zhang@163.com

清华大学MBA、PMP

参考技术A 可能是程序有错吧。
新建一个空白的文档,设置好项目的起始日期,将新建任务设置为自动任务,保存一下;
再将旧文件中所有内容以文本的形式复制到空白文档中,再设置开始日期方面的限制,然后再看一下。

为何js计算带有小数的加法的时候会出现误差?

很正常的,浮点数运算的误差。哪种语言都这样,只是误差大小不同而已。
用解析字符串的方式移动小数点,转化为整数,完毕后,在把小数点复位。
浮点数运算的时候,先转化为二进制,用二进制来算,结果再转回十进制
例如 :求1038.1-1000
1038.1=10000001110.0001100110011001100110011001100110011001100.....
1000= 1111101000
1038.1转化为二进制是个无限循环小数,1100是循环节,只能取近似值,误差就是这里产生的
如果浏览器版本高,可以用toFixed() 方法可把 Number 四舍五入为指定小数位数的数字.
后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
语法
NumberObject.toFixed(num)
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。

抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。
在本例中,我们将把数字舍入为仅有一位小数的数字:

Show the number 13.37 with one decimal:
<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>

输出:
Show the number 13.37 with one decimal:
13.4
参考技术A 多个相加保留4位:
var num=0;
forEach(it=>
num +=eval(Number(it.value).toFixed(4));
);
num.toFixed(4);
不用eval,就是字符串拼接,没有实际作用。

以上是关于project2010中工期计算出现小数,比如,9.9到9.20号工期显示11.88天,不应该是1的主要内容,如果未能解决你的问题,请参考以下文章

project2010里,为啥工期出现小数

为何project中会出现小数点工期

project2007工期为啥会有小数点?

project2007 总任务工期为小数,如何破解?

Project 摘要任务的工期出现小数位

Project中工作日出现的小数点如何更改?