Я работаю с приложением под названием TEC-IT клиновой для взаимодействия с продуктовом шкалы (для тех, кто не в курсе продуктового масштаба прославил масштаб с помощью сканера.номер Javascript/строка вопрос
Масштаба подключенный к последовательному порту на ПК, и приложение для клина контролирует этот порт, код ниже обрабатывает сканирование штрих-кода, затем запрашивает вес, все это работает.
Где я столкнулся с проблемой, это формирование возвращаемый вес из шкалы.
данные, возвращенные из шкалы, находятся в формате 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("S11\x0d", 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 = "";
}
}
@ «Paul S.» Это трюк, не могли бы вы рассказать мне, что именно происходит здесь, или указать мне ресурс, описывающий, как это работает? – jmcnorrill
Я не знал, как работают «правые» или «левые», но я решил не делать столько операций, это можно сделать только с помощью «замены». После этого было похоже, что вам может понадобиться число, а не строка, поэтому я использовал 'parseFloat' _after_ –