Ich versuche, eine GPS-Lesung von einem String zu einem Float auf meinem Arduino zu bekommen. Die Saite hat alle Griffe aller Ziffern gut, aber wenn ich es teile, um einen Floss zu bekommen, verliere ich 4 meiner Ziffern. Hier ist mein Code:Verlust von Ziffern beim Teilen von Gleitkommazahlen C++ (Arduino)
gpsStrings[0].replace(".", "");
lat = gpsRawData[0].toFloat();
lat = lat/1000000.0;
Mit .toFloat auf einer Zeichenfolge, die nach wie vor das Komma hat darin in der gleichen Sache ergeben, nur zwei Zahlen nach dem Komma.
Beispielnummern:
42427898 :: 42.43 - what happens
42427898 :: 42.427898 - what I want to happen
Ich bekomme das gleiche Ergebnis. Auf Arduino sind Doppelte nicht genauer als Schwimmer. Sie können die gleiche Anzahl von Ziffern enthalten. http://arduino.cc/en/Reference/Double – Steven
Ich sehe, das ist ziemlich bedauerlich .. Danke für den Tipp – ZnArK