Просмотр полной версии : Собрать 5 BYTE в один REAL
Опрашиваю весы 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
Спасибо, очень помогли ответы, подтолкнули меня в нужном направлении, попробовал и так и так, работает. И основываясь на ответах и том что мне весы передают строку, я сначала нахожу в строке десятичную точку, потом опираясь на положение точки выделяю нужные мне символы, и преобразовываю их в real.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot