Огругление переменной Float

Вопросы от новичков
Ответить
Gryzchik
Рядовой
Сообщения: 9
Зарегистрирован: 04 янв 2020, 10:46
Имя: Алексей

Огругление переменной Float

Сообщение Gryzchik »

Метеостанция на BME 280 и ESP8266.Показания с датчика передается через модбас на андроид.Все работает но температура с датчика выходит с точностью до сотых.Что совершенно не нужно но и округленние до целых не вариант.Как будто чего то не хватает.Идеальный вариант округление до десятых.Я это сделал но через одно место.Проект приклеплен.Вопрос как в программе Flprog округлить переменную Float до десятых чтобы передать через один тэг на модбас
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3129
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 233 раза
Поблагодарили: 114 раз

Огругление переменной Float

Сообщение Phazz »

Умножить на 10 и передать как integer.
Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30 окт 2019, 17:58
Имя: Сергей

Огругление переменной Float

Сообщение Sanbi4 »

Блок float -> int не подойдет?
Gryzchik
Рядовой
Сообщения: 9
Зарегистрирован: 04 янв 2020, 10:46
Имя: Алексей

Огругление переменной Float

Сообщение Gryzchik »

Phazz писал(а): 13 янв 2020, 18:50 Умножить на 10 и передать как integer.
Нет так не прокатить.Я даже сделал так переменную с датчика умножил на десять преоброзовал Float в int а потом делил на 10.Но на выходе получил целую переменую а не переменую с десятыми.
Sanbi4 писал(а): 13 янв 2020, 18:57 Блок float -> int не подойдет?
В том то и дело надо получить 25,7 а не 25.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Огругление переменной Float

Сообщение grin-mpx »

Во первых
[spoiler]
тест1.jpg
[/spoiler]
Отправлено спустя 3 минуты 45 секунд:
Во вторых [spoiler]
тест1-1.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Gryzchik
Рядовой
Сообщения: 9
Зарегистрирован: 04 янв 2020, 10:46
Имя: Алексей

Огругление переменной Float

Сообщение Gryzchik »

grin-mpx Что вы этим хотите сказать?
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

Огругление переменной Float

Сообщение nalnik »

Я хочу быть добрее, но люди сами нарываются.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Огругление переменной Float

Сообщение grin-mpx »

Gryzchik писал(а): 13 янв 2020, 20:06 grin-mpx Что вы этим хотите сказать?
Сравните скриншоты со своим проектом. Я заменил тип переменных.
Gryzchik
Рядовой
Сообщения: 9
Зарегистрирован: 04 янв 2020, 10:46
Имя: Алексей

Огругление переменной Float

Сообщение Gryzchik »

grin-mpx писал(а): 13 янв 2020, 21:02
Gryzchik писал(а): 13 янв 2020, 20:06 grin-mpx Что вы этим хотите сказать?
Сравните скриншоты со своим проектом. Я заменил тип переменных.
Это не решает проблемы на выходе получаеться 16.90 а не 16.9
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Огругление переменной Float

Сообщение grin-mpx »

Gryzchik писал(а): 13 янв 2020, 21:14 Это не решает проблемы на выходе получаеться 16.90 а не 16.9
Ну вы даёте :D Это и есть float. Для того чтоб видеть в мониторе порта 16.9 а не 16.90, нужно вашу переменную float преобразовать в string и в свойствах блока преобразования указать количество нолей после запятой, потом уже эту string гнать в com port.
Rodgerask
Сержант
Сообщения: 141
Зарегистрирован: 09 дек 2019, 14:31
Имя: del

Огругление переменной Float

Сообщение Rodgerask »

//del
Последний раз редактировалось Rodgerask 12 фев 2020, 23:49, всего редактировалось 4 раза.
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

Огругление переменной Float

Сообщение nalnik »

Округление -- это не просто удаление "лишнего знака"!
Я хочу быть добрее, но люди сами нарываются.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Огругление переменной Float

Сообщение grin-mpx »

Вопрос в том, что конкретно подразумевает автор. Скорее просто удаление лишнего знака, т.к. конкретно 16.90 невозможно округлить до 1 десятой :)
Rodgerask
Сержант
Сообщения: 141
Зарегистрирован: 09 дек 2019, 14:31
Имя: del

Огругление переменной Float

Сообщение Rodgerask »

//del
Последний раз редактировалось Rodgerask 12 фев 2020, 23:49, всего редактировалось 1 раз.
Gryzchik
Рядовой
Сообщения: 9
Зарегистрирован: 04 янв 2020, 10:46
Имя: Алексей

Огругление переменной Float

Сообщение Gryzchik »

grin-mpx писал(а): 13 янв 2020, 21:41
Gryzchik писал(а): 13 янв 2020, 21:14 Это не решает проблемы на выходе получаеться 16.90 а не 16.9
Ну вы даёте :D Это и есть float. Для того чтоб видеть в мониторе порта 16.9 а не 16.90, нужно вашу переменную float преобразовать в string и в свойствах блока преобразования указать количество нолей после запятой, потом уже эту string гнать в com port.
А string можно отправить через модбас как переменную?
grin-mpx писал(а): 13 янв 2020, 21:51 Вопрос в том, что конкретно подразумевает автор. Скорее просто удаление лишнего знака, т.к. конкретно 16.90 невозможно округлить до 1 десятой :)
Да удаление.Блин я школу заканчивал 25 лет назад
Rodgerask Слишко для меня сложно учитывая что это мой первый проект вообще с ардуино.
nalnik писал(а): 13 янв 2020, 20:41 viewtopic.php?p=53803#p53803

search.php?keywords=round&terms=all&aut ... 1%81%D0%BA

Gryzchik - Посмотрите
Спасибо вот это помогло round не прошла а вот

float Rez=in;
Serial.println(Rez, 1);
out=Serial.println(Rez, 1)
сработало
Всем спасибо кто помогал.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Огругление переменной Float

Сообщение grin-mpx »

Gryzchik писал(а): 13 янв 2020, 23:24 А string можно отправить через модбас как переменную?
В проекте она еще и в UART отправляется, вот я про этот случай.
Ответить

Вернуться в «Начинающим»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость