如何将带有“!@@@”的字符串格式函数从vb6.0迁移到vb.net?

How to migrate string format function with "!@@@" from vb6.0 to vb.net?

我正在将源代码从 vb6.0 迁移到 vb.net,并且正在努力使用此格式函数:

VB6.Format(text, "!@@@@@@@@@")

VB6.Format(text, "00000")

我不明白 "!@@@@@@@@@""00000" 的含义,以及如何在 VB.Net 中进行等效操作。谢谢

这个:

VB6.Format(text, "!@@@@@@@@@")

表示指定的文本在九个字符的字符串中应左对齐。使用标准的 .NET 功能,它看起来像这样:

String.Format("{0,-9}", text)

或者,使用较新的字符串插值,如下所示:

$"{text,-9}"

第二个有点棘手。它表示指定的文本应格式化为数字,零填充为五位数字。在 .NET 中,只有实际数字可以格式化为数字。 Strings 包含数字的字符不是数字。您可以将 String 转换为数字,然后对其进行格式化:

String.Format("{0:00000}", CInt(text))

或:

String.Format("{0:D5}", CInt(text))

如果您打算这样做,那么只需拨打 ToString 号码会更简单:

CInt(text).ToString("D5")

如果您不想进行转换,则可以显式填充 String

text.PadLeft(5, "0"c)