`
康敏栋
  • 浏览: 169408 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

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:两个数相乘用四舍五入可能不太规范,可以到网上搜索比较好的做法,此处不做说明
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics