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

取得时间戳之后将间隔时间转换为正常的表示形式,所以分别对各个单位进行计算。


在计算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前先判断的方法合理吗?还有什么方法可以处理这个问题?


蝴蝶不菲
浏览 754回答 1
1回答

萧十郎

times 除以一个数字的结果必然是一个 number 类型,对一个 number 类型的值取值直接用&nbsp;Math.floor&nbsp;不是更简单直接吗?还不会遇到你所说的那个问题~
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript