Javascript编号/字符串问题



我正在使用一个名为TEC-IT Wedge的应用程序与杂货秤连接(对于那些不知道杂货秤的人来说,杂货秤是一种带有扫描仪的美化秤。

秤连接到PC上的串行端口,楔形应用程序监控该端口,下面的代码处理条形码的扫描,然后请求重量,所有这些都在工作。

我遇到问题的地方是格式化秤中的返回重量。

从秤返回的数据采用 ASCII"S11####"格式,因此S110004重量为 0.04 磅的物品,这就是我需要将等待发送到我们使用秤输入数据的应用程序的方式。 对于下面的代码,返回 S110004 返回 00.4

我想由于某种原因,我在抓取数字时丢失了 0,以便将小数点位置放在正确的位置。

var cartonverify = Left(DATARAW, 5);
var weightverify = Left(DATARAW, 3);
if (cartonverify == "S08B3") 
   {
    ActivateWindow("Untitled - Notepad");
    SendKeyStrokes(DATARAW.replace(/^S08B3+/i, '') );
    DATA = "";
    WriteToDevice("S11x0d", 1000);
    }
if (weightverify == "S11")
    {
    ActivateWindow("Untitled - Notepad");
    var cartwieght = Right(DATA, 4);
      if (cartwieght.length == 4)
         {
          var cartounces = Right(cartwieght, 2);
          var cartpounds = Left(cartwieght, 2);
          var WMWeight = cartpounds + "." + cartounces;
          SendKeyStrokes(WMWeight);
          DATA = "";
          }
    }

将字符串重新格式化为可以根据需要解析为数字的内容。

var str = 'S110004';
str = str.replace(/S11(dd)(dd)/, '$1.$2'); // "00.04"
var num = parseFloat(str); // 0.04

将小数位放在正则表达式步骤中也可以使您不必使用除法。

相关内容

  • 没有找到相关文章

最新更新