Moin, habe da mal wieder ein Problem. Ich erhalte über eine GPIB-Schnittstelle von verschiedenen Meßinstrumenten ausgelesene Werte. Leider sind diese Werte Strings, die in wissentschaftlicher Schreibweise vorliegen(3.2995E+03 oder -29.20E+03). Da ich jedoch mit diesen Strings rechnen muß, benötige ich sie als Zahlenwerte(float oder int oder so). Weiß jemand, wie ich sie möglichst einfach konvertieren kann??? Gibt es da vielleicht eine vorgefertigte Funktion??? Wäre cool, wenn mir jemand helfen könnte...
wenn 3.2995 rauskommt musst du dir den rest selbst noch hinzufügen -- class God : public ChuckNorris { };Dieser Post wurde am 21.10.2003 um 09:36 Uhr von FloSoft editiert.
char szValue [] = "3.2995E+03"; float fValue; int nResult = sscanf (szValue, "%f", &fValue); if (nResult == 1) { /* alles in Ordnung, rechne mit fValue */ } else { /* Fehler beim Konvertieren, z.B. Formatfehler. Sollte bei maschinell generierten Zeichenketten allerdings nicht vorkommen. */ }