将时间转换为浮点数

时间:2018-07-15 15:08:11

标签: javascript timer stopwatch

我有一个秒表应用程序,可以将时间存储在一个数组中。 JS从计时器启动时开始计算毫秒数,然后将这些毫秒数转换为秒和分钟,然后将其输出为字符串。

我想做的是计算这些时间的平均值,因此我必须将字符串转换为浮点数。它可以将类似10.35的字符串转换为浮点数,但是它显然不适用于1:24.56之类的东西,这就是我要解决的问题。时间将采用以下格式之一:

[seconds].[milliseconds]
[minutes]:[seonds].[milliseconds]

有什么想法吗?我对Javascript真的很陌生,所以我不确定该在哪里使用。

编辑:存储库为here。所有的废话都发生在timer.js和main.js文件中。

1 个答案:

答案 0 :(得分:4)

只需将其拆分并添加:

function toMS(str) {
  if(!str.includes(":"))
     return parseFloat(str);
  const [mins, secms] = str.split(":");
  const [sec, ms] = secms.split(".");
  return ((+mins * 60) + +sec) * 1000 + +ms;
}

(这使用“一元加运算符”将字符串转换为数字)