【发布时间】:2016-07-25 05:42:27
【问题描述】:
在 AngularJS 中,我试图计算出对于当前工人来说,多少小时是标准时间与加班时间。如果小时数是整数,我有一个效果很好的公式,但如果它有小数,则会失败。
我必须考虑可能未提供其中一个数字的情况。这是我目前的做法:
laborItem.StraightHours = (parseFloat((laborItem.HoursB4Today | 0)) + parseFloat(laborItem.Hours | 0)) < 40 ?
(parseFloat(laborItem.Hours | 0)) :
40 - parseFloat(laborItem.HoursB4Today | 0);
这只会返回整个小时。
我也试过了:
laborItem.StraightHours = (parseFloat((laborItem.HoursB4Today | 0).toFixed(2)) + parseFloat(laborItem.Hours | 0).toFixed(2)) < 40 ?
(parseFloat(laborItem.Hours | 0).toFixed(2)) :
40 - parseFloat(laborItem.HoursB4Today | 0).toFixed(2);
但是,这只是增加了两位小数。我需要保留十进制值。
如何修改我的公式以使其发挥作用?而且,我真的需要使用parseFloat,还是有其他/更好的方法?
【问题讨论】:
标签: javascript angularjs parsefloat