Math.round返回一个整数,但不是每次都返回

时间:2013-04-28 07:19:23

标签: javascript rounding

我有以下代码用于显示评论的发布时间:

var timestamp = (new Date().getTime())/1000;
var comment_time = timestamp - responses[i]['time'];
var time_string = '';
if(comment_time < 60)
    time_string = Math.round(comment_time)+"s ago";
else if(comment_time < 3600)
    time_string = Math.round(comment_time/60)+"m ago";
else if(comment_time < 86400)
    time_string = Math.round(comment_time/3600)+"h ago";
else
    time_string = Math.round(comment_time/86400)+"d ago";

这很好用,除非评论不到一分钟。当发生这种情况时,根本不会发生舍入。如果评论不到一分钟,看起来我得到一致的15位有效数字。一旦它超过一分钟,一切正常。可以做些什么呢?

1 个答案:

答案 0 :(得分:1)

尝试使用带有小数部分的parseInt()

time_string = parseInt(Math.round(comment_time/60))+"m ago";

也可以使用jsfiddle获取它 http://jsfiddle.net/arunpjohny/6m5D8/1/