gpt4 book ai didi

javascript - 将值转换为可读的小时数

转载 作者:行者123 更新时间:2023-11-28 13:05:55 26 4
gpt4 key购买 nike

我有这个字符串:

var case1 = '5.25 - 12.25, 13 - 18.5';
var case2 = '6.5 - 12, 13 - 18.5';
var case3 = '9 - 13, 14 - 18';

我需要将它们转换为:

result1; //05:15 - 12:15, 13:00 - 18:30;
result2; //06:30 - 12:00, 13:00 - 18:30;
result3; //09:00 - 13:00, 14:00 - 18:00;

是否可以只使用正则表达式?

规则:

1) 如果数量小于10,则添加前导0。
2) 将 .25 替换为 :15,将 .5 替换为 :30
3) 如果该点后面没有任何内容,请添加 00

我尝试用条件、替换等来做到这一点,但一团糟。

最佳答案

您可以使用一个正则表达式,但使用replace回调函数:

const cases = [
'5.25 - 12.25, 13 - 18.5',
'6.5 - 12, 13 - 18.5',
'9 - 13, 14 - 18'
];

const result = cases.map( c => c.replace(/(\d+)(\.\d+)?/g, (_, h, m) =>
('0'+h).substr(-2) + ':' + ('0' + (Math.floor(m*60) || 0)).substr(-2)
));

console.log(result);

ES5 语法:

var cases = [
'5.25 - 12.25, 13 - 18.5',
'6.5 - 12, 13 - 18.5',
'9 - 13, 14 - 18'
];

var result = cases.map(function (c) {
return c.replace(/(\d+)(\.\d+)?/g, function (_, h, m) {
return ('0'+h).substr(-2) + ':' + ('0' + (Math.floor(m*60) || 0)).substr(-2);
});
});

console.log(result);

关于javascript - 将值转换为可读的小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46434267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com