float => string (ohne sprintf)

derschotte

Grünschnabel
Hallole,

folgendes Problem: float Zahl in einen string wandeln. Ich weiss, das es eine Fkt. names sprintf() gibt mit der sich das ganze realisieren lässt.

Aber:
Ich schreibe mein Programm mit Keil, dies ist eine IDE für uC. Das ganze ist eigentlich nicht anderes wie C mit den gleichen/ähnlichen Fkt. Allerdings lässt sich die Funktion nicht nutzen, da diese nur in der Kaufversion dabei ist.

Suche:
Würde mir die Fkt. selber schreiben. Nur leider fehlt mir voll der Gedankenblitz. Such einen Denkanstoss zur realsisierung einer Fkt. der ich einen float übergebe und mir das Ergebniss als string wieder ausgibt.

thx
 
Also so auf die schnelle :

- mit Modulo die einzelnen Werte absplitten
- jeden der werte per IF vergleichen und wenn z.b. die zahl ne 1 war, dann hängst du an den String eine "1" an

beispiel :

if( split == 1)
string+= "1";
if( split == 2)
string+= "2";


Was dümmeres fällt mir momentan auch nicht ein ;(
 
Hy!

Anstatt die einzelnen Werte per if zu vergleichen könntest du auch
'0' // ASCII Zeichen 0 ASCII 0x30
zu der Zahl dazuaddieren, dann bekommst du auch deinen Char den du benötigst, sparst dir aber ein großes if-elseif konstrukt (oder switch-case)

mfg
uhu01
 
moin


Um welche Art String handelt es sich denn?
Um einen String aus chars: char string[]....
Oder um einen String der String Klasse?


mfg
umbrasaxum
 
@Beichtpfarrer

...schonmal was von Templates gehört ? Scheinbar nicht, damit wäre die datei nur 20% so groß.

Template = Schablone

Du machst das einfach für ein Template, und wenn du das Teil später aufrufst, sagst du nur noch welchen Datentyp du willst und schwups klappt das.
 
Zurück