float in int convertieren

OP #1424993
Hallo,

kann mir bitte jemand den Code für die Konvertierung von float in int 
mitteilen?
So was ähnliches wie itoa oder utoa!

Nach AD-Wandlung wird ADC-Wert als float weiterberechnet( Genauer!) und 
soll dann als int ausgegeben werden.

Auch andere Lösungen nehme ich gerne an...

1
float Spannung = 0;
2
int Akku8 = 0;
3

4
sprintf( cBuffer, "4:%d.%03dV", Akku8 / 1000, Akku8 % 1000 );
5
set_cursor(10,2);      // Position für Akku8
6
lcd_string(cBuffer );  // Ausgabe an Display

Benutze AVR-Studio PonyProg und ATmega16
Gast #1425031
Wieso willst du einen float kurz vor der Ausgabe nochmal in einen int 
konvertieren, damit sprintf ihn dann eh nochmal konvertieren muss (in 
einen string nämlich)?

Abgesehen davon kannst du ihn da einfach "reinquetschen", den Rest macht 
der Compiler:
1
float f = 5.7;
2
int i = f;
Moderator (Firma: Titel) Persönliche Seite #1425080
> Nach AD-Wandlung wird ADC-Wert als float weiterberechnet( Genauer!)
Meinst du   :-o

Als Trost: du bist nicht der einzige, wie im 
Beitrag "Re: ERROR:Xst:1532" zu lesen ist  ;-)

Du wirst bei genauer Betrachtung (speziell in deinem Anwendungsfall ADC) 
mit einem long integer auf jeden Fall besser versorgt. Multipliziere den 
Wert einfach mit 1000 und rechne immer mit dem 1000fachen. Platz dafür 
ist ine einem long genug da.
Gast #1425179
>> Nach AD-Wandlung wird ADC-Wert als float weiterberechnet( Genauer!)

Was verstehst du unter genau ? Fixpoint Arithmetik ist hier die Lösung. 
Du mußt eh ne ganze Menge berücksichtigen um einen "genauen Wert" zu 
erhalten. Das bischen Wert umrechnen ist da noch das geringste Problem.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.