- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 4 von 4

Thema: double to string -> quasi itoa für double/float

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.06.2004
    Beiträge
    38

    double to string -> quasi itoa für double/float

    Anzeige

    Praxistest und DIY Projekte
    Hi!

    Ich benötige eine Funktion, die mir ähnlich wie itoa einen Wert in einen String schreibt, damit ich diese auf dem Display ausgeben kann.
    Gibt es sowas irgendwo!?
    Hab bis jetzt zwar ne Funktion namens "gcvt" gefunden, aber die scheint bei dem WinAVR paket nicht implementiert zu sein!

    Danke!

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    gibt es sprintf? sollte eigentlich im ansi-c99 standard sein.
    manche compiler kennen auch ein ftoa bzw dtoa (kein ansi).

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    09.06.2004
    Beiträge
    38
    Hi!

    Danke!

    Jetzt grad hab ich noch ein anderes Problem - und irgendwei dreh ich mich gerade laufend im Kreis; es ist nur ne simple Rechenoperation:

    ergebnis = adcwert * wert;

    so der adcwert kommt vom Analogeingang und liegt jetzt gerade bei 800 und wert liegt im moment bei 100.
    ergebnis hab ich als long definiert - von daher sollte doch der zahlenberich genügen oder?
    Die umsetzung aufs Display geschiet über ITOA -> kann das long?
    Bzw. später ist folgende Formel geplant:

    ergebnis = adcwert * wert / 2650;

    maximalwerte:
    adcwert: 1024
    wert: 5000

    d.h. das ergebnis würde bei 2000 liegen, aber zwischendrin wird "mehr" speicher benötigt. -> welchen variablentyp nehm ich denn da jetzt am besten... irgendwie rechnet mein µC grad nur noch quatch.. irendwo hab ich glaub ich nen denkfehler drin..
    danke!

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    soweit ich weiß (mit avr-c hab ichs nicht so, verwende da eher asm) hat ein long 32 bit, das reicht also haushoch. ausgabe erfolgt dann aber mit sprintf(buffer,"%ld",ergebnis); oder mit ltoa.

    gruesse von der katz

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress