添加带字符串的“-”VB.Net格式
我正在尝试将WO123000这样的项目作为WO-123000。这是代码,但它对我不起作用添加带字符串的“-”VB.Net格式,vb.net,vb6-migration,Vb.net,Vb6 Migration,我正在尝试将WO123000这样的项目作为WO-123000。这是代码,但它对我不起作用 WorkOrder = String.Format("{0:##-######}", Trim(WorkOrderNum)) 这就是WorkOrderNum是WO123000的地方。此错误源于VB6。格式迁移问题。如果字符串长度保持不变: Dim WorkOrderNum = "WO123000" Dim testStr As String = String.Format("{0}-{1}", Wo
WorkOrder = String.Format("{0:##-######}", Trim(WorkOrderNum))
这就是WorkOrderNum是WO123000的地方。此错误源于VB6。格式迁移问题。如果字符串长度保持不变:
Dim WorkOrderNum = "WO123000"
Dim testStr As String = String.Format("{0}-{1}", WorkOrderNum.SubString(0, 2), WorkOrderNum.SubString(2, 6))
Console.WriteLine(testStr)
'outputs WO-123000
虽然我相信有更好的方法可以做到这一点,包括错误处理等,这只是一个演示 我假设WO代表“工单”。这将向我建议,每个工单的前两个字母将是WO。这意味着您可以只执行以下操作,而不是格式化:
Dim WorkOrderNum As String = "WO123000"
Dim OutputOrderNum As String = WorkOrderNum.Replace("WO", "WO-")
希望这有帮助
Rodit如果您不需要设置数字本身的格式,则以下内容应为您提供所需内容:
WorkOrder = Trim(WorkOrderNum).Insert(2, "-")
如果输入内容与您的注释所述内容有很大差异,则您需要先提取数字,然后格式化:
string WorkOrder = "abc123";
int woNum;
if (int.TryParse(System.Text.RegularExpressions.Regex.Match(WorkOrder, @"\d+").Value, out woNum))
{
return String.Format("WO-{0:00000}", woNum);
}
为什么.NET要自动拆分字符串WO123000?我只是想让字符串在第一个字符后加一个破折号。它们可以是任何字符。不仅仅是前两个字母。您是否也在尝试设置数字格式,或者它是否可靠?例如,您是否正在尝试将WO1转换为WO-00001?String.SubString无法修复的任何内容。或者很简单。但是,不一定要这样。如果他们愿意,可以是11111111,这就像格式化一个随机字符串@user2311799