Javascript leading numbers

Javascript leading numbers

本文关键字:numbers leading Javascript      更新时间:2023-09-26

好的,我必须通过它工作,但是,是的,那个线程确实产生了一个答案。多谢谢。请认为这个问题已经结束

Javascript新手,已经做了很多搜索的答案。很多四舍五入的答案包括;.toFixed(2).toPrecision(2)。这些解决方法对我的问题不起作用。

我希望显示到一个两位数的结果,它是如何显示在屏幕上,这样,如果有10天,它将显示为,"10天,直到这个事件"和第二天,它将显示为,"09天,直到这个事件"。现在我只剩下10天了,剩下9天了。准确,但它扰乱了我的显示格式。我想保留一个两位数的输出,无论计算。

我不知道足够的javascript还没有尝试使用条件来做到这一点。一个条件将计算输出数字(一个或两个),然后说,如果有两个数字,不做其他任何事情,如果一个“0” + theResuult.

我猜有一个更简单的方法来设置这个格式命令?

我拥有什么以及我是如何到达那里的:

var one_day=1000*60*60*24; // milliseconds
var d0 = new Date()
var d2 = new Date("October 1, 2015 12:00:00"); // “Some Event”
var diff2 = Math.abs(d0-d2);  // difference in milliseconds
var res2 =  Math.round(diff2/one_day);
res2 + " Days from: 10/01/2015  Some Event" +  "'n"

这个问题和另一个问题不重复。我是一个初学者,我不理解递归计算,也不知道它们是如何与其他东西相关的。我正在寻求确定占位符值,如果它可以设置。

直接修改

var res2 =  Math.round(diff2/one_day);

var res2 =  ("0"+Math.round(diff2/one_day)).substr(-2);

的想法是将数字转换为字符串,并在该字符串前加上0,然后获得最后2个字符。因此,如果res2是10,你将得到"010"作为一个字符串,当你得到最后两个字符时,它将是"10"。如果res2是9,那么字符串将是"09",当你得到最后两个字符时,你将得到"09"。

你可以试试这个

var one_day=1000*60*60*24; // milliseconds
var d0 = new Date()
var d2 = new Date("October 1, 2015 12:00:00"); // “Some Event”
var diff2 = Math.abs(d0-d2);  // difference in milliseconds
var res2 =  Math.round(diff2/one_day); 
res2 = (res2 < 10)? '0' + res2 : res2;
res2 = res2 + " Days from: 10/01/2015  Some Event";

你可以自己计算,但在我看来,使用moment.js库更容易:

moment(myDate).fromNow()
# => in 5 hours
# => in a day
# => in a month
# etc.