如何将带有“!@@@”的字符串格式函数从vb6.0迁移到vb.net?
我正在将源代码从 vb6.0 迁移到 vb.net 并且正在努力使用此格式功能:
VB6.Format(text, "!@@@@@@@@@")
VB6.Format(text, "00000")
我不明白"!@@@@@@@@@"and的含义"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)