typescript 将十进制格式转换为JavaScript中指定格式的字符串

y0u0uwnf  于 2023-03-31  发布在  TypeScript
关注(0)|答案(2)|浏览(140)

我需要把十进制转换成某种特定格式的字符串

1.0 to "+01:00"
-4.0 to "-04:00"

我已经使用了.toString(),但这只是转换为字符串预期如何将其转换为上述格式。请建议

vecaoik1

vecaoik11#

您可以使用padStarttoFixed创建一个自定义函数来将数字转换为所需的格式。

const format = num => {
  const sign = num > 0 ? '+' : '-';
  const [first, second] = num.toFixed(2).split('.');
  return `${sign}${first.replace('-','').padStart(2, '0')}:${second}`
}
console.log(format(1.0))  // "+01:00"
console.log(format(-4.0)) // "-04:00"
uajslkp6

uajslkp62#

const convert = (val) => {
  const plusMinus = val > 0 ? '+' : '-';
  const decimal = val.toFixed(2).replace(/\./, ':').replace(/^-/, '');
  const prefixedZero = val < 10 && val > -10 ? '0': '';
  return `${plusMinus}${prefixedZero}${decimal}`
}

console.log(convert(1.0))
console.log(convert(-4))
console.log(convert(0))
console.log(convert(-10))
   console.log(convert(10))

相关问题