如何用 String.Format 在左边补零

how to pad zero on left with String.Format

我尝试使用带前导零的 String.Format 字符串

Dim formatstring As String = ("{0,0}{1}{2,0:YYYY-MM-DD}{3}{4,0:00000}{5}{6,0:00000}{7}{8}{9}{10}{11}{12}")

用{4,0:00000} 左边填零 例子 01400014

用{6,0:00000} 左边也填零 例子 54700547

但这并没有发生,只是仍然显示 014 和 547

对于你想要发生的事情,在第 4 和第 6 个索引中传递的对象需要支持 IFormattable 接口。 From the docs:

If you specify formatString, the argument referenced by the format item must implement the IFormattable interface. Types that support format strings include:

您的值是 014,而不是简单的 14,这意味着您所拥有的已经是一个字符串。 String 类型 实现 IFormattable。要使其正常工作,您需要首先将字符串解析为整数或类似类型。