问题描述
我正在将源代码从 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)