JS数值之间的乘除计算

实现功能:将总共工作小时sumHour转换成X天X小时,按照每天工作时间为8小时计算
例如:
23小时---->4天7小时
18.4小时----->2天0.4小时
9.12小时---->1天1.12小时
8小时---->1天0小时

实现代码
var days=parseInt((parseFloat(sumHour)/8));
var  hours=(parseFloat((parseFloat(sumHour)-(8*days)).toFixed(2)));



说明:
1. parseFloat(sumHour)/8是直接计算天数的值(包括小数点),用 parseInt取其整数部分即为天
2. parseFloat(sumHour)-(8*days):此处俩个数相乘可能会出现一个js的bug,例如7*0.8 ,算出来就是:5.6000000000000005,所以可用用 toFixed(2)对其进行四舍五入,2代表保存两位小数。
23小时如果(parseFloat(sumHour)-(8*days)).toFixed(2))计算出来的值应该是7.00,小时点后面的0如果让它省略可用 parseFloat

ps:两个数相乘用四舍五入可能不太规范,可以到网上搜索比较好的做法,此处不做说明

你可能感兴趣的:(js)