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

查看:214
本文介绍了javascript - 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前先判断的方法合理吗?还有什么方法可以处理这个问题?

解决方案

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

这篇关于javascript - js使用parseInt()取整遇到数字过小自动转换为科学记数法表示的数字的处理方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆