Anzeige

Char zahlenfolge in float umschreiben

#1
Hallo ich habe folgendes Problem ich soll aus folgendem array,
char zahlenliste[]="9,8 2,8 3,4 2,7 0,3";

die erste zahl , also 9,8 in eine float zahl umschreiben ich habs über die ascII tabelle versucht scheitere leider an der überschreibung so wie dem floating point , wäre über jede Hilfe glücklich !
 

Technipion

Erfahrenes Mitglied
#2
Hallo hitera55,
ich nehme an du willst das in klassischem C machen?

Guckst du hier:
http://www.cplusplus.com/reference/cstring/strtok/
http://www.cplusplus.com/reference/cstdlib/atof/

Mit den Funktionen kannst du zunächst deinen string zerteilen und dann jede Zahl in ein float umwandeln.

Gruß Technipion

EDIT: Ups, gerade gesehen, dass du noch Probleme mit dem Trennzeichen (,) hast. Das kannst du einfach lösen, indem du als ersten Schritt alle Kommas mit Punkten ersetzt. Einfach googeln, da findest du 100%ig was...
 
#3
ja genau du hast mir schonmal sehr geholfen demnächst muss ich folgendes tun :
Definieren Sie eine Funktion wandle_in_Zahl, der Sie eine Zeichenkette str übergeben können! Die Funktion wandle_in_Zahl soll die erste Dezimalzahl, die in der Zeichenkette str enthalten ist, erkennen, und in einer float-Variablen zurückgeben. Die umzuwandelnden Zahlen sollen genau eine Stelle vor dem Komma und maximal 3 Stellen hinter dem Komma haben können. Liegt eine solche Zahl nicht vor, soll die Funktion wandle_in_Zahl den Wert -1 zurückgeben.

ich hatte mir dazu folgende dezimalzahl bedingung überlegt
if((a>47 && a<58) && (a[i+1]=='.')&&(a[i+2]>47 && a[i+2]<58))

andernfalls soll die -1 zurück gegeben werden . funktioniert allerdings nicht , hat da jemand bessere vorschläge?
 
Anzeige

Neue Beiträge

Anzeige