Страница 1 из 1

Как сделать число формата xxx.xx

Добавлено: 05 мар 2017, 12:32
atlon2006
Пытаюсь понять как DS18B20 выдает данные в формате xx.xx
Как сделать пердставление числа получаемого с bmp180 в том же формате?

Как сделать число формата xxx.xx

Добавлено: 05 мар 2017, 14:10
Phazz
При преобразовании из Float в строку, после подключения входа появляется возможность выбрать количество знаков после запятой при преобразовании
Изображение
По умолчанию стоит два знака

Добавлено (05.03.2017, 14:03)
---------------------------------------------
Справка

Добавлено (05.03.2017, 14:10)
---------------------------------------------
А, там выход integer. Ну тогда никак.

Как сделать число формата xxx.xx

Добавлено: 05 мар 2017, 15:16
Nikito$
Phazz писал(а):Как сделать пердставление числа получаемого с bmp180 в том же формате?
Ещё как вариант, можно менять количество знаков прямо в коде (я именно так делаю)
Находишь подобную строку
_dispTempLength2 = ((( _floatToStringWitRaz((_d18x2x1O),2)))).length(); красная двойка это и есть знаки после запятой, обычно таких строк в коде 2 штуки

Как сделать число формата xxx.xx

Добавлено: 05 мар 2017, 15:40
Phazz
Там в коде нечего менять.

Как сделать число формата xxx.xx

Добавлено: 05 мар 2017, 17:20
CraCk
atlon2006 писал(а):Как сделать пердставление числа получаемого с bmp180 в том же формате?
Сделать деление выходной температуры из датчика на 100 тип данных float.

Как сделать число формата xxx.xx

Добавлено: 05 мар 2017, 18:04
Phazz
А в каком виде он выдает температуру?

Как сделать число формата xxx.xx

Добавлено: 05 мар 2017, 19:52
atlon2006
Выдает в целочисленном. После пересчета получаем float. А как в первом ответе у меня в этом блоке такой настройки нет(
В принципе нужно понимание как из float получить строку в формате ххх,хх и так далее. Или получить от Вас коллееги ответ что надо писать это в IDE.

Добавлено (05.03.2017, 19:50)
---------------------------------------------
Кажется понял в чем беда(
С датчика число в LongInt и я ее перемножаю на float. Результат то получаеться float, но видимо блок конвертации сходу это не понимает(

Добавлено (05.03.2017, 19:52)
---------------------------------------------
Переделал заново ветку пересчета и заработало! Ура! Всем спасибо!

Датчик BME280_En Рабочий и отредактированный блок

Добавлено: 23 мар 2018, 16:44
ivandragon
Подскажите пожалуйста как мне вывести на экран значения температуры с десятыми градуса, ни как не могу понять :senile: Изображение

Как сделать число формата xxx.xx

Добавлено: 23 мар 2018, 16:50
pan
[ref]ivandragon[/ref], может попробуете поискать и почитать

Как сделать число формата xxx.xx

Добавлено: 23 мар 2018, 17:11
Sancho
[ref]ivandragon[/ref],
Уберите конвертацию float в integer(сделайте напрямую), затем в блоке преобразования в строку появится волшебная настройка....

Как сделать число формата xxx.xx

Добавлено: 23 мар 2018, 17:25
ivandragon
убрал, но после конвертации ошибка Arduino: 1.8.1 (Windows 7), Плата:"MassDuino MD-328D"

C:\Users\User\AppData\Local\Temp\flprog\pr18\pr18.ino: In function 'String _floatToStringWitRaz(float, int)':

pr18:118: error: call of overloaded 'String(float&, int&)' is ambiguous

return String(value,raz);
Изображение

^

Как сделать число формата xxx.xx

Добавлено: 23 мар 2018, 17:36
pan
[ref]ivandragon[/ref], мы по скриншотам не гадаем

Как сделать число формата xxx.xx

Добавлено: 23 мар 2018, 17:40
ivandragon
Извините уважаемые, косяк был в некорректной работе китайского ардуино уно LC(вернее компилятора) с arduino IDE.