Типы данных
- Войдите на сайт для отправки комментариев
Ср, 09/03/2016 - 17:09
Добрый вечер подскажите пожалуйста как мне вывести цифры после точки для математических функций.
Я посылаю в сериал пор N,111.111
А у меня приходит в intVar2,3 “111.000” а надо 111.111
Serial.println(intVar2,3);
sscanf(buffer, "%[^','],%[^','],%s", &unitID_in, &command_in, &data_in);
}
if ((String)unitID_in == "N"){
String str2 = command_in;
float intVar2;
String stringVar2 = str2;
intVar2=stringVar2.toInt();
Serial.println(command_in);
Serial.println(stringVar2);
Serial.println(str2);
Serial.println(intVar2,3);
unitID_in [0] = '\0';
command_in [0] = '\0';
}
}
floatintVar2;15String stringVar2 = str2;16intVar2=stringVar2.toInt();Не кажется странным ?
Если так делаю всё выводится .
void loop() { float intVar2 = 0.111; float intVar1 = 111.111; float rez ; rez = intVar1 + intVar2; Serial.println(rez,3); delay(1000);Объясните пожалуйста
То что два раза в String это я понял
То что два раза в String это я понял
а то что один раз в INT?
То что два раза в String это я понял
а то что один раз в INT?
Если вы говорите про этот int тоя ставил разные переменные не помогает.
int i=0; char buffer[100]; if(Serial.available()){ delay(100);Или как то нужно по-другому преобразовать?
мля....
построчно:
1)
floatintVar2; // объявление переменной типа float !2)intVar2=stringVar2.toInt(); // попытка присвоить переменной float значение преобразования строки в int !!!ответ: intVar2=stringVar2.toFloat();
мля....
построчно:
1)
floatintVar2; // объявление переменной типа float !2)intVar2=stringVar2.toInt(); // попытка присвоить переменной float значение преобразования строки в int !!!ответ: intVar2=stringVar2.toFloat();
вот так получилось
String stringVar = command_in; float floatVar; char floatbufVar[32]; stringVar.toCharArray(floatbufVar,sizeof(floatbufVar)); floatVar=atof(floatbufVar);Спасибо за подсказки