如何在 JavaScript 中将整数格式化为特定长度?

2024-01-07

我在 Javascript 中有一个数字,我知道它小于 10000 并且也是非负的。我想将其显示为四位数字,并带有前导零。还有比下面这个更优雅的吗?

if(num<10) num="000"+num;
else if(num<100) num="00"+num;
else if(num<1000) num="0"+num;

我想要一些内置于 Javascript 中的东西,但我似乎找不到任何东西。


我能想到的最简单的方法是:

("000" + num).slice(-4)

填充后的数字是一个字符串。
当您将数字添加到字符串时,它会转换为字符串。
字符串具有切片方法,该方法返回字符串的固定长度片段。
如果 length 为负数,则返回的字符串将从字符串末尾开始切片。

to test:

var num=12;
console.log(("000" + num).slice(-4)); // Will show "0012"

当然,这只适用于最多 4 位的正整数。一个稍微复杂的解决方案将处理正整数:

'0'.repeat( Math.max(4 - num.toString().length, 0)) + num

通过重复添加零来创建字符串,只要位数(字符串长度)小于 4 添加数字,然后也将其转换为字符串。

Edit:从现在开始你应该使用这个函数:

String(num).padStart(4,'0')

它仍然不能处理负数......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JavaScript 中将整数格式化为特定长度? 的相关文章

随机推荐

  • 从文件夹中删除重复的 Outlook 项目

    issue 当我将项目从在线存档移至 pst 文件时 Outlook 2016 损坏 PST 文件已恢复 但许多项目 7000 被重复 5 次 有一系列项目类型 标准消息 会议请求等 我尝试过什么我查看了现有的解决方案和工具 包括 重复删除
  • 为什么我的 Android 应用程序中的 Azure 表存储数据加载速度缓慢?

    我已经使用 Azure 表存储数据创建了 Android 应用程序 每次我的应用程序 Azure 数据加载缓慢时 我都会打开 我的桌子mBranchListTable mClient getTable BranchList class my
  • XUL 的 jQuery?

    我在互联网上阅读并发现 jQuery 在 XUL 上工作正常 我的问题是 是否有专门为 XUL 设计的 jQuery 插件 还有其他专门为 XUL 制作的类似 jQuery 的库吗 我还没有在 XUL 上测试过 jQuery 我只是出于好奇
  • R - ggplot2 将日期作为 x 轴字符的问题

    我是 R 和 ggplot2 的新手 我不知道如何解决我尝试创建的图表的问题 这是图表目前的样子 我在 x 轴上有日期 但由于某种原因 它们不适用于年份 而只能按月和日排序 这是我正在使用的数据的屏幕截图 正如您所看到的 这里的顺序看起来是
  • 合并 PHP 关联数组

    我有多个arrays我正在努力merge他们 想象一下下面的代码 arr1 a array a b c arr2 a array d e f arr3 a array g h i arr1 b array a b c arr2 b arra
  • Java 数组存储值

    我试图存储在 for 循环结构上输入的值以供以后使用 但它只能在 for 循环结构内部被识别 我需要程序的其余部分识别存储的值 但不知何故我收到错误 找不到符号 public class TryArray public static voi
  • 将 2 列中的精确串联值分组?

    我有一个包含 2 列纬度和经度的表 并且想要对完全匹配进行分组 just tandem2 列上的值 表行 Points Table time lat long 113 2 1 5 8 114 2 1 5 6 Set as Group 115
  • IE7 导致“文本 - 空文本节点”的原因

    我正在使用 IE Web 开发人员工具栏来解决问题 列表项下方出现空白 我无法从逻辑上找出原因 使用网络开发工具栏 我看到在下面的示例 1 中 文本 Google 下方输出了一个 文本 空文本节点 具有讽刺意味的是 在第二个例子中 在 Go
  • Stylecop 配置文件在哪里?

    我已经通过 NuGet 安装了 Stylecop 我希望禁用一些规则 并且我知道这可以通过我读到的配置文件来完成 但是 我在任何地方都找不到该文件 并且似乎很少有文档描述在何处创建该文件 我该如何制作文件 Edit 由于这个问题几年后似乎仍
  • 如何禁用elasticsearch中的自动索引创建?

    我需要禁用一个索引的自动索引创建 但需要允许另一个索引 如何禁用 elasticsearch 仅针对特定索引自动创建索引 我试过 action auto create index false 在elasticsearch yml文件中 但它
  • 如何在grails中安装和使用httpbuilder插件

    如何在 Grails 中安装和使用 httpbuilder 插件 将 httpbuilder 0 5 1 添加到应用程序依赖项将导致错误 特别是 您会收到如下错误 java lang LinkageError loader constrai
  • 如何在 Angular js 中设置 XSRF 保护?

    我正在使用 angularJs 资源和球衣休息 API 开发一个应用程序 我想在我的项目中实现xsrf保护 请建议一个更好的例子 我这里有一个例子 但它使用 ColdFusion http www bennadel com blog 256
  • 有什么命令可以显示 Tomcat 下当前正在运行多少个应用程序?

    想知道有什么命令行工具可以显示 Tomcat 状态吗 您可以在应用程序之外使用大多数管理器应用程序 URL 因此 要生成正在运行的应用程序的列表 您可以发出 wget 在 Linux 中 命令 wget http hostname port
  • Mod 重写尾部斜杠问题

    关于这个主题似乎没有太多信息 所以我将概述我的具体问题 然后也许我们可以将问题和答案塑造成更通用的东西 我有这个重写规则 RewriteEngine On RewriteBase bookkeepers RewriteCond REQUES
  • Spring 3.1 Hibernate 4 继承异常 [无法转换为 org.hibernate.mapping.RootClass]

    嗨 我刚刚开始使用 Spring Hibernate4 和 maven 基本上我的类层次结构是 HUmanMicroTask 从 MicroTask 扩展 将来可能还会有其他几个从 MicroTask 扩展的类 我试图为每个具体类一个表 这
  • Angular-ngRoute:强制 ng-view 内容,之后允许导航

    在使用 ngRoute 时 我想配置 Angular 以便 ng view 的当前内容保留为当前路由的内容 并允许用户导航到不同的路由 然后渲染各自的模板 Plunker http plnkr co edit z4qGEh7u8OsbnYU
  • ImportError:没有名为“Tkinter”的模块[重复]

    这个问题在这里已经有答案了 由于某种原因 我无法使用Tkinter or tkinter 在 Python 3 模块上 在 python shell 中运行以下命令后 import Tkinter 或者在 Python 3 中 import
  • Android O 后台服务限制

    In the 迁移指南 https developer android com preview features background html migration建议我们使用NotificationManager startService
  • android XML 布局中的 ImageView 具有layout_height =“wrap_content”,具有顶部和底部填充

    我有一个垂直的 LinearLayout 其中包含 ImageView 和一些其他布局和视图
  • 如何在 JavaScript 中将整数格式化为特定长度?

    我在 Javascript 中有一个数字 我知道它小于 10000 并且也是非负的 我想将其显示为四位数字 并带有前导零 还有比下面这个更优雅的吗 if num lt 10 num 000 num else if num lt 100 nu