剩下的数字不可分割

时间:2019-06-13 04:43:19

标签: javascript

我正在将字符串转换为数字,然后将该数字转换为分钟。因此,我正在检查数字是否可被60整除,然后将该数字乘以60。该部分工作正常。但是,我剩下的数字不能被60整除。

例如2小时23分钟,我的公式此时仅返回120。我需要找到解决方案以添加剩余的23分钟。

let item = "2h 22min"

let timed = parseInt(item) % 60;
let atimed = timed * 60;

3 个答案:

答案 0 :(得分:2)

您的代码只用了一个小时,因为当您parseInt时它只需要第一个数字,所以它只需要2个。因此要解决此问题,您需要按空格分割,然后您将得到小时和分钟。

const item = "2h 30m"
const time = parseInt(item) // this returns only 2.

const item = "2h 30m"
const [h, m] = item.split(" ");
const hour = parseInt(h);
const min = parseInt(m);
const atimed = (hour * 60) + min;

console.log(atimed);

答案 1 :(得分:1)

您正在执行的代码是错误的。

parseInt('2h 22mins')只有2。

尝试如下操作,您需要拆分该字符串,然后计算小时和分钟。

function convert(item){
  var atimed = "";
  var full = item.split(' ');
  if(full.length == 2){
    let hour = parseInt(full[0]);
    let mins = parseInt(full[1]);
    atimed = (hour * 60)+mins;
  } else if(full.length == 1){
    let mins = parseInt(full[0]);
    atimed = mins
  }
  return atimed
}

console.log(convert("2h 22min"));
console.log(convert("30min"));

答案 2 :(得分:0)

执行以下操作。

var item = "2h 22min"
var time = item.split(" ");
var hours = parseInt(time[0]) * 60;
var minutes = parseInt(time[1]);

var totalMinutes = hours + minutes;