Доброго дня, имеется mega256 которая по сериал передает данные с датчиков в том числе на nodemcu которая в свою очередь формирует html страничку с таблице с этими данными. Данные приходят
так
формат данный такой 25.60 то есть после точки два числа, необходимо сократить до одного числа, что бы было так 25.6 и сделать это на nodemcu, то есть как сократить в serial при отправке я знаю, но мне нужно именно после получения на nodemcu…
Не пишите бреда. Это у вас ПОКАЗЫВАЕТСЯ при печати две цифры после запятой. А сколько там на самом деле - зависит от размерности целой части.
опять же бред. Не надо ничего “сокращать”, просто не печатайте больше одной цифры после точки и все.
Добавлю для ясности - никаким образом “сократить” встроенный тип float вы не сможете, его формат фиксирован и в нем 6-8 значащих цифр (а не две, как вы думали).
Найдите другой способ решить свою проблему (если она вообще есть).
еще раз повторяю они на nodemcu при хотят в таком формате именно две цифры после “.” не 6-8…
Интересно почему например этот float можно сократить например так
float tempesp1 = “25.6000”;
myGLCD.printNumF(tempesp1, 1); или так Serial.print(tempesp1, 1); а вот ручками никаким образом уже никак?
потому что это никакое не “сокращение” числа, а просто скрытие лишних разрядов при печати. Изменяется только вид числа на экране, сам float при этом не “сокращается”.
Именно об этом я вам и написал.
Да, что бы на html странице было меньше данных там не нудно это…
Ручками это значит сделать тоже что и делает функции myGLCD.printNumF(tempesp1, 1); и Serial.print(tempesp1, 1) обрезая, сокращая
Большая разница между “скрытием” и обрезать? в поставленно вопросе в первом посте, написал обрезать до одного символа после точки, даже блин пример привел и расписал что именно нужно, но нет..
А Вы, простите, идиот?
В программировании такие вот “запятые” и составляют 99% ошибок с которыми сюда приходят новички.
Привыкайте четко и правильно писать, вплоть до запятой - иначе в программировании вы постоянно будете выискивать, почему ваш код не работает.