我正在将字符串转换为数字,然后将该数字转换为分钟。因此,我正在检查数字是否可被60整除,然后将该数字乘以60。该部分工作正常。但是,我剩下的数字不能被60整除。
例如2小时23分钟,我的公式此时仅返回120。我需要找到解决方案以添加剩余的23分钟。
let item = "2h 22min"
let timed = parseInt(item) % 60;
let atimed = timed * 60;
答案 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;