368 превратить в 3.7
- Войдите на сайт для отправки комментариев
Пнд, 22/02/2021 - 09:25
Здравствуйте.
Подскажите пожалуйста. Ардуино нано. Подключен датчик, аналоговый сигнал. Прилетает значение, например 368, мне нужно переменной присвоить эначение 3.7, чтобы далее по мктт передать.
Делаю:
bar = (round((analogRead(A1))/10))/10;
Прилетает 3.
Делаю:
bar = (round((analogRead(A1))/10));
Прилетает 37.
Где моя ошибка?
благодарю
yden, непонятно, чего именно Вы хотите. Число 3.7 - дробное, а Вы во-первых, оперируете только с целыми числами, а во=вторых, используете процедуру round, которая тоже переводит дробные числа в целые. Так какое число Вам нужно?
Если нужно целое 37, то bar = (analogred(A0) + 5) / 10;
yden, непонятно, чего именно Вы хотите. Число 3.7 - дробное, а Вы во-первых, оперируете только с целыми числами, а во=вторых, используете процедуру round, которая тоже переводит дробные числа в целые. Так какое число Вам нужно?
Если нужно целое 37, то bar = (analogred(A0) + 5) / 10;
Мне из 368 получить 3,7
yden
Может сначала получить инт раунд 368/10 (37), а протом из этого получить флоат 37/10.0 ?
yden
Может сначала получить инт раунд 368/10 (37), а протом из этого получить флоат 37/10.0 ?
Дон Румата! Ты поглядел на дату регистрации пассажира? Ясно, что проблема не в непонимании арифметики, а медицинская? Ну и зачем реагировать, тем более скоро весна и последствия непредсказуемы?
Вы правы, граф, не обратил внимания. Ну, может человек просто за 5 лет еще не дочитал до страницы про типы с плавающей точкой
yden
Может сначала получить инт раунд 368/10 (37), а протом из этого получить флоат 37/10.0 ?
Дон Румата! Ты поглядел на дату регистрации пассажира? Ясно, что проблема не в непонимании арифметики, а медицинская? Ну и зачем реагировать, тем более скоро весна и последствия непредсказуемы?
Здоровья вам.
Человек программировал методом Гугла. Потом понял, что гугл даёт слишком много информации и решил ее анализ перевалить на других людей. Напрягаться же не надо вообще.
И вам не болеть.
yden, непонятно, чего именно Вы хотите. Число 3.7 - дробное, а Вы во-первых, оперируете только с целыми числами, а во=вторых, используете процедуру round, которая тоже переводит дробные числа в целые. Так какое число Вам нужно?
Если нужно целое 37, то bar = (analogred(A0) + 5) / 10;
Мне из 368 получить 3,7
368 - 364.3 = 3.7
Где моя ошибка?
не используйте целые, переходите на флоат
напечатает 3.7
напечатает 3.7
А передаст 3.68
А передаст
Вот передастов нам тут не надо...
Если правильно принять - то 3.7
Вот передастов нам тут не надо...
Если правильно принять - то 3.7
Про передастов погорячился, впредь не повторится
А вот насчет принять - идея очень даже здравая. Сегодня я вполне собой доволен, да и выходной завтра мне президент устроил. Начну с 4.9, а после баньки обязательно и 43 приму в незначительном пакете
Вот это правильно! 4,9 - банька - 12 - 17 - 20(для дам, мужики пропускают) - 42,5±2,5.