秒之间的Javascript逗号
Posted
技术标签:
【中文标题】秒之间的Javascript逗号【英文标题】:Javascript comma between seconds 【发布时间】:2016-06-09 09:39:01 【问题描述】:我正在尝试解决这个问题,但我不知道我需要从哪里开始。我使用计时器作为横幅来玩游戏,计时器以秒为单位,有 4 位数字。现在,我想在秒之间有一个逗号,所以它看起来像这样:13,80 而不是这个:1380。我怎样才能确保秒中有逗号?
这是我的代码:
var x = new clsStopwatch();
var $time;
var clocktimer;
function pad(num, size)
var s = "0000" + num;
return s.substr(s.length - size);
function formatTime(time)
var s = ms = 0;
var newTime = '';
time = time % (60 * 60 * 1000);
m = Math.floor( time / (60 * 1000) );
time = time % (24 * 1000);
s = Math.floor( time / 45 + 3800);
newTime = pad(s,4) ;
return newTime;
【问题讨论】:
什么是 13,80? s、ms、time、m 还是 newTime? pad() 是什么? 【参考方案1】:这样使用:
var str = 1234;
console.log(str.substr(0,2)+','+str.substr(2)); //will print 12,34
你的代码会变成:
function pad(num, size)
var s = "0000" + num;
var str = s.substr(s.length - size);
return str.substr(0,2)+','+str.substr(2);
【讨论】:
在你的功能垫内(num, size) var s = "0000" + num;返回 s.substr(s.length - size); ?? 很高兴听到这个消息 :) !【参考方案2】:var myNumber = 123;
var myArray = myNumber.toString().split(""); // ["1", "2", "3"]
while (myArray.length < 4)
myArray.unshift("0"); // ["0", "1", "2", "3"];
myArray.splice(2, 0, ","); // second position, take none out, insert comma
// ["0, "1", ",", "2", "3"];
console.log(myArray.join("")); // myArray.join("") === "01,23"
【讨论】:
unshift()
和 shift()
与 push()
/ pop()
相同。 slice()
和 splice()
在几乎所有方面都是相反的。不过,您绝对应该检查所有数组函数,我的大多数面试问题都需要数组,尤其是作为队列或堆栈。字符串是原始的,数组可以修改内容,并且数组的基本函数是用 C 编写的,因此它们通常很快。 shift unshift 较慢,因为您编辑所有数字的索引,它是 N 阶,但索引使数组比对象更快【参考方案3】:
不是最优雅的解决方案,但它有效
//takes a number
//e.g. 9104 returns 91,04
function addComma(number)
var frm = String(number);
return number > 99 ? frm.substring(0, frm.length-2) + ',' + frm.substring(frm.length-2, frm.length) : "0," + frm
【讨论】:
以上是关于秒之间的Javascript逗号的主要内容,如果未能解决你的问题,请参考以下文章