Страница 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
Ну вы даёте :D Это и есть 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
Ну вы даёте :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)
сработало
Всем спасибо кто помогал.

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

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