javascript - 如何在 Javascript 中使用 NumberFormat?
问题描述
我希望我的倒数计时器显示两位数,例如“53:00”而不是“53:0”。不知道这里出了什么问题?谢谢!
function convertSeconds(s) {
var min = Math.floor(s / 60);
var sec = s % 60;
return nf(min, 2) + ':' + nf(sec, 2);
}
解决方案
您可以使用padStart()
它来确保字符串具有一定的长度。如果不是,它会用你想要的任何东西填充它。在这种情况下0
:
const nf = (n, c) => n.toString().padStart(c, '0');
function convertSeconds(s) {
var min = Math.floor(s / 60);
var sec = (s % 60)
return nf(min, 2) + ':' + nf(sec, 2);
}
console.log(convertSeconds(64))
console.log(convertSeconds(119))
不知道你是否想填补没有的分钟。
还有一个Intl.NumberFormat()
which 有一个最小位数的选项(尽管这似乎有点过分了):
console.log(new Intl.NumberFormat('en-US', { minimumIntegerDigits: 2}).format(2));
console.log(new Intl.NumberFormat('en-US', { minimumIntegerDigits: 2}).format(59));
推荐阅读
- java - 如何从java列表中删除特定元素?
- javascript - Node Js & Puppeteer - 如何选择包裹在 Anchor 标签内的文本
- blazor-server-side - 编写通用函数以打开模态
- python - 有人能够让 wkhtmltopdf 在 Heroku 上工作吗?
- javascript - localStorage(需要帮助无法正常运行)- Javascript Chrome 扩展
- c - 在 C 中动态分配内存时出现错误
- angular - 为什么我的 observables 不能通过 Angular 中的异步管道和 *ngIf 正确发射?
- python - 比较两个列表中常见项目的最快方法
- html - WordPress 网站上的 HTML5 视频背景无法在 Safari 浏览器上运行
- matlab - 如何将 Matlab 中用于绘图的字体设置为默认的 Latex 字体?