如何将带有“!@@@”的字符串格式函数从 vb6.0 迁移到 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)