我不确定这是否是重复项,但是我需要将字符串分成子字符串以将时分器放入其中。我想通过将字符串的长度开始并反向移动2位,将2016转换为20.16,将21070转换为2:10.70。

我在2016年尝试了以下方法:

best.toString().slice(-2, best.toString().length); //16
best.toString().slice(-2, (best.toString().length - 2)); //blank


我在21070上累了以下内容:

best.toString().slice(-2, best.toString().length); //70
best.toString().slice(-2, (best.toString().length - 2)); //blank
best.toString().slice(-2, (best.toString().length - 4)); //blank


我对切片的起点缺少什么?谢谢!

最佳答案

您甚至不需要使用切片

function format(best) {
   const a = (best / 10000) | 0;
   const b = ((best / 100) | 0) % 100;
   const c = (best % 100)

   let result = '';
   if (a > 0) result += a.toString() + ':';
   result += b.toString().padStart(2, '0') + '.';
   result += c.toString().padStart(2, '0');

   return result;
}

format(2016);   // 20.16
format(21070);  // 2:10.70

关于javascript - Javascript-子字符串从末尾开始并移动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55718929/

10-13 01:25