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

ted*_*edd 3 vb.net vb6 vb6-migration

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

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

VB6.Format(text, "00000")

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

jmc*_*ney 7

这个:

VB6.Format(text, "!@@@@@@@@@")
Run Code Online (Sandbox Code Playgroud)

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

String.Format("{0,-9}", text)
Run Code Online (Sandbox Code Playgroud)

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

$"{text,-9}"
Run Code Online (Sandbox Code Playgroud)

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

String.Format("{0:00000}", CInt(text))
Run Code Online (Sandbox Code Playgroud)

或者:

String.Format("{0:D5}", CInt(text))
Run Code Online (Sandbox Code Playgroud)

如果您打算这样做,那么拨打电话会更简单ToString

CInt(text).ToString("D5")
Run Code Online (Sandbox Code Playgroud)

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

text.PadLeft(5, "0"c)
Run Code Online (Sandbox Code Playgroud)