string to float
3 berichten
• Pagina 1 van 1
string to float
Hi
ik lees een temperatuur in uit een file , met
float actual = buienradarClient.parseFloat();
ik heb dan een float , maar soms is het geen getal maar een tekst "---" ( sensor not responding) en dit wordt blijkbaar ook omgezet naar 0.00 in de float
ik dacht lees ik een string in met bijvoorbeeld
string w = buienradarClient.readStringUntil("");
if (w == "---")
//geen getal , maar een string
else
//omzetten naar float
dit werkt , maar als de sting bestaat uit een getal bijvoorbeeld "0.0" of "-10.0", moet het een float worden , zodat ik ermee kan rekenen
Hoe kan ik dit simpel opzetten
ik kwam op internet de code tegen
float Temperature::convertStringtoFloat(String convert)
{
char test_as_char[convert.length()+1];
convert.toCharArray(test_as_char, convert.length()+1);
float myFloat = atof(test_as_char);
return myFloat;
}
maar ik snap niet wat met deze code gebeurt . ik stop een string erin en krijg een float terug OK, maar hoe werkt i , en hoe zit het met de lengte van de string
kan iemand dit uitleggen ???
ik lees een temperatuur in uit een file , met
float actual = buienradarClient.parseFloat();
ik heb dan een float , maar soms is het geen getal maar een tekst "---" ( sensor not responding) en dit wordt blijkbaar ook omgezet naar 0.00 in de float
ik dacht lees ik een string in met bijvoorbeeld
string w = buienradarClient.readStringUntil("");
if (w == "---")
//geen getal , maar een string
else
//omzetten naar float
dit werkt , maar als de sting bestaat uit een getal bijvoorbeeld "0.0" of "-10.0", moet het een float worden , zodat ik ermee kan rekenen
Hoe kan ik dit simpel opzetten
ik kwam op internet de code tegen
float Temperature::convertStringtoFloat(String convert)
{
char test_as_char[convert.length()+1];
convert.toCharArray(test_as_char, convert.length()+1);
float myFloat = atof(test_as_char);
return myFloat;
}
maar ik snap niet wat met deze code gebeurt . ik stop een string erin en krijg een float terug OK, maar hoe werkt i , en hoe zit het met de lengte van de string
kan iemand dit uitleggen ???
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: string to float
Wat hij doet is het volgende (per statement regel):
- Creer een array voor het aantal tekens ('\0') op het einde van de string ('\0' = string terminator)
- Kopieer de string naar de array
- atof skipt alle voorlopende spaties en converteerd dan naar een floating point getal). Deze functie stopt na het teken dat niet meer voldoet voor de floating point. Dus lengte speelt op zich geen rol.
- geef de float terug
Wat er gebeurt als je er " 12.4233534564345797959793973579375975979479579379 dit is een testje" in stopt met zoveel decimalen vermoed ik dat hij gewoon naar 7-8 decimalen er mee kapt. Maar ik ken de precisie van de arduino niet zo ff.
- Creer een array voor het aantal tekens ('\0') op het einde van de string ('\0' = string terminator)
- Kopieer de string naar de array
- atof skipt alle voorlopende spaties en converteerd dan naar een floating point getal). Deze functie stopt na het teken dat niet meer voldoet voor de floating point. Dus lengte speelt op zich geen rol.
- geef de float terug
Wat er gebeurt als je er " 12.4233534564345797959793973579375975979479579379 dit is een testje" in stopt met zoveel decimalen vermoed ik dat hij gewoon naar 7-8 decimalen er mee kapt. Maar ik ken de precisie van de arduino niet zo ff.
Re: string to float
ok redelijk duidelijk, ik ga eens kijken wat er uit komt als ik deze in de arduino zet
bedankt
bedankt
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 28 gasten