为了账号安全,请及时绑定邮箱和手机立即绑定

js使用parseInt()取整遇到数字过小自动转换为科学记数法表示的数字的处理方法

js使用parseInt()取整遇到数字过小自动转换为科学记数法表示的数字的处理方法

蝴蝶不菲 2018-12-12 14:18:21
取得时间戳之后将间隔时间转换为正常的表示形式,所以分别对各个单位进行计算。在计算year的时候发现小于某个值之后的取整会出现错误,排查到原因是计算得出的数字太小(10^-5),所以被自动转换成科学记数法表示。这个时候使用parseInt()取整就舍去了小数点后的部分。代码如下var times = endTime-nowTime.getTime();var year = parseInt((times/(1000*60*60*24*365))<1?0:times/(1000*60*60*24*365));请问像这样使用parseInt前先判断的方法合理吗?还有什么方法可以处理这个问题?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

times 除以一个数字的结果必然是一个 number 类型,对一个 number 类型的值取值直接用 Math.floor 不是更简单直接吗?还不会遇到你所说的那个问题~


查看完整回答
反对 回复 2019-01-14
  • 1 回答
  • 0 关注
  • 751 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信