PDA

Просмотр полной версии : Собрать 5 BYTE в один REAL



ZPavel
05.01.2018, 23:34
Опрашиваю весы AXIS, обмен в ASCII. Получаю сотни, десятки и единицы, десятые и сотые доли. Вопрос как собрать все это в одну переменную REAL? И еще вопрос, если поиск указывает на всю тему в которой 600 страниц, как найти нужную страницу, если такое возможно.

krollcbas
06.01.2018, 00:52
Если каждое из чисел у вас есть, то напрашивается элементарно все срастить посимвольно.

То есть вначале, каждый символ переводите в строковый, например функцией BYTE_TO_STRING
Имея данные, вливаете их в одно число, то есть сращиваете строковой функцией CONCAT, а затем, обратной функцией STRING_TO_REAL
переводите в нужное вам число

murdemon
06.01.2018, 01:46
Dint f = (Байт сотни - 31)*10000+(байт десятки-31)*1000+(байт еденицы-31)*100+(байт десятык-31)*10+(байт сотки-31)
Real f1 = dint_to_real(f)/100

ZPavel
06.01.2018, 19:46
Спасибо, очень помогли ответы, подтолкнули меня в нужном направлении, попробовал и так и так, работает. И основываясь на ответах и том что мне весы передают строку, я сначала нахожу в строке десятичную точку, потом опираясь на положение точки выделяю нужные мне символы, и преобразовываю их в real.