为了账号安全,请及时绑定邮箱和手机立即绑定

下面的ScanDataLabel输出如何降价?

下面的ScanDataLabel输出如何降价?

C#
慕哥9229398 2021-10-31 19:58:21
条形码阅读器为我提供了以下显示在文本框中的数字字符串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);


查看完整回答
反对 回复 2021-10-31
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

对于此示例,这应该可以解决问题:

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

但请考虑到更长或更短的 ScanDataLabel 不会为您提供正确的数字或抛出ArgumentOutOfRangeException.


查看完整回答
反对 回复 2021-10-31
  • 2 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信