Страница 1 из 1
Огругление переменной Float
Добавлено: 13 янв 2020, 18:39
Gryzchik
Метеостанция на BME 280 и ESP8266.Показания с датчика передается через модбас на андроид.Все работает но температура с датчика выходит с точностью до сотых.Что совершенно не нужно но и округленние до целых не вариант.Как будто чего то не хватает.Идеальный вариант округление до десятых.Я это сделал но через одно место.Проект приклеплен.Вопрос как в программе Flprog округлить переменную Float до десятых чтобы передать через один тэг на модбас
Огругление переменной Float
Добавлено: 13 янв 2020, 18:50
Phazz
Умножить на 10 и передать как integer.
Огругление переменной Float
Добавлено: 13 янв 2020, 18:57
Sanbi4
Блок float -> int не подойдет?
Огругление переменной Float
Добавлено: 13 янв 2020, 19:29
Gryzchik
Phazz писал(а): 13 янв 2020, 18:50
Умножить на 10 и передать как integer.
Нет так не прокатить.Я даже сделал так переменную с датчика умножил на десять преоброзовал Float в int а потом делил на 10.Но на выходе получил целую переменую а не переменую с десятыми.
Sanbi4 писал(а): 13 янв 2020, 18:57
Блок float -> int не подойдет?
В том то и дело надо получить 25,7 а не 25.
Огругление переменной Float
Добавлено: 13 янв 2020, 19:57
grin-mpx
Во первых
[spoiler]
тест1.jpg
[/spoiler]
Отправлено спустя 3 минуты 45 секунд:
Во вторых [spoiler]
тест1-1.jpg
[/spoiler]
Огругление переменной Float
Добавлено: 13 янв 2020, 20:06
Gryzchik
grin-mpx Что вы этим хотите сказать?
Огругление переменной Float
Добавлено: 13 янв 2020, 20:41
nalnik
Огругление переменной Float
Добавлено: 13 янв 2020, 21:02
grin-mpx
Gryzchik писал(а): 13 янв 2020, 20:06
grin-mpx Что вы этим хотите сказать?
Сравните скриншоты со своим проектом. Я заменил тип переменных.
Огругление переменной Float
Добавлено: 13 янв 2020, 21:14
Gryzchik
grin-mpx писал(а): 13 янв 2020, 21:02
Gryzchik писал(а): 13 янв 2020, 20:06
grin-mpx Что вы этим хотите сказать?
Сравните скриншоты со своим проектом. Я заменил тип переменных.
Это не решает проблемы на выходе получаеться 16.90 а не 16.9
Огругление переменной Float
Добавлено: 13 янв 2020, 21:41
grin-mpx
Gryzchik писал(а): 13 янв 2020, 21:14
Это не решает проблемы на выходе получаеться 16.90 а не 16.9
Ну вы даёте

Это и есть float. Для того чтоб видеть в мониторе порта 16.9 а не 16.90, нужно вашу переменную float преобразовать в string и в свойствах блока преобразования указать количество нолей после запятой, потом уже эту string гнать в com port.
Огругление переменной Float
Добавлено: 13 янв 2020, 21:47
Rodgerask
//del
Огругление переменной Float
Добавлено: 13 янв 2020, 21:48
nalnik
Округление -- это не просто удаление "лишнего знака"!
Огругление переменной Float
Добавлено: 13 янв 2020, 21:51
grin-mpx
Вопрос в том, что конкретно подразумевает автор. Скорее просто удаление лишнего знака, т.к. конкретно 16.90 невозможно округлить до 1 десятой

Огругление переменной Float
Добавлено: 13 янв 2020, 21:52
Rodgerask
//del
Огругление переменной Float
Добавлено: 13 янв 2020, 23:24
Gryzchik
grin-mpx писал(а): 13 янв 2020, 21:41
Gryzchik писал(а): 13 янв 2020, 21:14
Это не решает проблемы на выходе получаеться 16.90 а не 16.9
Ну вы даёте

Это и есть float. Для того чтоб видеть в мониторе порта 16.9 а не 16.90, нужно вашу переменную float преобразовать в string и в свойствах блока преобразования указать количество нолей после запятой, потом уже эту string гнать в com port.
А string можно отправить через модбас как переменную?
grin-mpx писал(а): 13 янв 2020, 21:51
Вопрос в том, что конкретно подразумевает автор. Скорее просто удаление лишнего знака, т.к. конкретно 16.90 невозможно округлить до 1 десятой
Да удаление.Блин я школу заканчивал 25 лет назад
Rodgerask Слишко для меня сложно учитывая что это мой первый проект вообще с ардуино.
Спасибо вот это помогло round не прошла а вот
float Rez=in;
Serial.println(Rez, 1);
out=Serial.println(Rez, 1)
сработало
Всем спасибо кто помогал.
Огругление переменной Float
Добавлено: 13 янв 2020, 23:59
grin-mpx
Gryzchik писал(а): 13 янв 2020, 23:24
А string можно отправить через модбас как переменную?
В проекте она еще и в UART отправляется, вот я про этот случай.