Float handhaben

#2449748
Lesenswert?

Mal ganz nebenbei: Um 3.14159 darzustellen/zu verarbeiten, musst Du 
nicht unbedingt float verwenden! Da tut's ein integer genau so gut! 
Nein, genausogut nicht, anders (nicht immer schlechter). Aber sehr oft 
genügend gut.

Es ist ein seeeeeeeehr verbreiteter Irrglaube, dass alles, was einen 
Punkt hat, floating point sein soll.

Es heisst ja nicht umsonst "floating point" und "fixed point", und nicht 
"a point" und "no point". ;-)

Oh, mann, wer lesen kann.... das wurde ja schon vorgeschlagen. SORRY! 
:-)
OP #2449789
Lesenswert?

>Unicode 1d6d1, spart am meisten Platz und ist dabei sehr genau :-)
Nett.


Nun noch mal zu meinem Problem:

  int inum = 3;
  double dnum = 3.14159;

  sprintf (Buffer,"int: %d", inum);
  lcd_goto(0,0);
  lcd_print (Buffer);

  sprintf (Buffer,"float: %f2.2", dnum);
  lcd_goto(0,1);
  lcd_print (Buffer);

liefert auf dem Hd44780 Display:
int: 3
float: ?2.2

float wird nicht richtig als float erkannt.
#2449868
Lesenswert?

Joachim ... schrieb:
> Problem ist nicht das ausgeben sondern das reinstecken - in sprintf,
> nämlich weil sprintf sich bei der "Ausgabe" sich nicht so verhält wie
> ich es erwarte.

mann musste für (s)printf erst die floating point funktionalität extra 
aktivieren. stand, glaub ich, irgendwo in den artikeln drin, wie es 
geht.
hat man das getan, fällt man erst mal vom Hocker, wenn man nach einem 
build auf die Programmgröße schaut.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren