如何将以下 ScanDataLabel 输出降低为价格?

How can the following ScanDataLabel output be reduced to the price?

条形码 reader 为我提供了以下显示在文本框 7612345203508 中的数字字符串。一串数字里面是下面那个地方的价格 76123452(0350)8 现在我想像这个例子一样用一个点来显示 761234520350 Fr. 03.50

如何正确表示?

我的代码如下所示:

VS2010 C#

textBox1.Text = axOPOSScanner1.ScanDataLabel; //Preis
textBox1.Text += "\t" + "Fr." +  axOPOSScanner1.ScanDataLabel.Remove( 0, 8 );

输出:7612345203508 Fr.03508

谢谢

尝试格式化字符串插值。如果价格由 4 位数字组成

string source = axOPOSScanner1.ScanDataLabel;

textBox1.Text = 
  $"{source}\tFr. {decimal.Parse(source.Substring(source.Length - 5, 4)) / 100:00.00}";

如果是Visual Studio 2010(不支持字符串插值

string source = axOPOSScanner1.ScanDataLabel;

textBox1.Text = string.Format("{0}\tFr. {1:00.00}",
  source,
  decimal.Parse(source.Substring(source.Length - 5, 4)) / 100);

这应该可以解决这个例子:

textBox1.Text += "\t" + "Fr. " + axOPOSScanner1.ScanDataLabel.Substring(8, 2) + "." + axOPOSScanner1.ScanDataLabel.Substring(10, 2);

但请注意,较长或较短的 ScanDataLabel 不会为您提供正确的数字或​​抛出 ArgumentOutOfRangeException