Conversie naar INT gaat fout
3 berichten
• Pagina 1 van 1
Conversie naar INT gaat fout
Dit projectje ontvangt twee getallen als string via de seriële poort (b.v. 1234,5678)
De scheiding tussen de twee getallen is een komma.
Voor de conversie gebruik ik 'toInt()' als ik het resultaat print is de waarde niet 1234 maar 12345.
Zit er nu een denkfout in de code of gebruik ik toInt niet correct
Alvast bedankt voor de hulp
De scheiding tussen de twee getallen is een komma.
Voor de conversie gebruik ik 'toInt()' als ik het resultaat print is de waarde niet 1234 maar 12345.
Zit er nu een denkfout in de code of gebruik ik toInt niet correct
Alvast bedankt voor de hulp
- Code: Alles selecteren
String inData;
float flXvalue;
float flYvalue;
int intXvalue;
int intYvalue;
//******************************************************************************
void setup() {
Serial.begin(9600);
// 1234567890123456
Serial.println("DC-Test_23008v00");
// 1234567890123456
}
void loop() {
while (Serial.available() > 0)
{
char recieved = Serial.read();
if (recieved != ',' && recieved != '.' && recieved != '\n')
{
inData += recieved;
Serial.println(inData);
}
if (recieved == ',') {
Serial.print("First value: ");
Serial.print(inData);
Serial.print(" - ");
intXvalue = inData.toInt();
Serial.print(intXvalue);
inData = "";
}
if (recieved == '\n') {
Serial.print("Second value: ");
Serial.print(inData);
Serial.print(" - ");
intYvalue = inData.toInt();
Serial.print(intYvalue);
inData = "";
}
}
}
Advertisement
Re: Conversie naar INT gaat fout
De toInt doet het prima maar je test programma de niet goed:
Serial.print(intXvalue); moet zijn Serial.println(intXvalue); (PRINTLN) en dan zie je dat de 5 de eerst volgende character is die achter de 1234 komt en dus het resultaat 12345 geeft.
Serial.print(intXvalue); moet zijn Serial.println(intXvalue); (PRINTLN) en dan zie je dat de 5 de eerst volgende character is die achter de 1234 komt en dus het resultaat 12345 geeft.
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 3 gasten