条形码阅读器为我提供了以下显示在文本框中的数字字符串7612345203508。在数字字符串中是以下位置的价格76123452(0350)8现在我想用这个例子中的点来显示它761234520350 Fr. 03.50我怎样才能正确地表示这一点?我的代码如下所示:VS2010 C#textBox1.Text = axOPOSScanner1.ScanDataLabel; //PreistextBox1.Text += "\t" + "Fr." + axOPOSScanner1.ScanDataLabel.Remove( 0, 8 );输出: 7612345203508 Fr.03508
2 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
尝试格式化和字符串插值。如果价格由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);
江户川乱折腾
TA贡献1851条经验 获得超5个赞
对于此示例,这应该可以解决问题:
textBox1.Text += "\t" + "Fr. " + axOPOSScanner1.ScanDataLabel.Substring(8, 2) + "." + axOPOSScanner1.ScanDataLabel.Substring(10, 2);
但请考虑到更长或更短的 ScanDataLabel 不会为您提供正确的数字或抛出ArgumentOutOfRangeException
.
- 2 回答
- 0 关注
- 166 浏览
添加回答
举报
0/150
提交
取消