Показать сообщение отдельно
Старый 26.01.2018, 11:03   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Int48. Преобразование в real

Цитата:
Сообщение от SSG Посмотреть сообщение
Столкнулся с проблемой.
Нужно считывать Int48 по Modbus и выводить на экран.
Прибор - эл.счетчик Elster Метроника A1800.
По мануалу максимальное хранимое значение - 99 999 999 999
В таком формате он хранит потребленную энергию Ватты, ВАРы, ВА с точностью до сотых.
Если пожертвовать точностью и выводить значения в формате Кило (Ватты, ВАРы, ВА), разделив на 100000 - то real'a должно хватить на максимальное значение в 999999,9 кВт
А зачем вы вообще переводите в real? Ведь можно выводить на экран и в исходном формате. Разложить на два long или long+int (в лонге целая часть, в инте дробная) и вывести их на экран, разделив точкой.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием