Problem mit FAQ Tipp bestimmte Stelle in Ganzzahl auslesen
-
Hallo,
Hab schon wieder eine Frage, und zwar geht es um den Tipp:
http://www.c-plusplus.net/forum/39327
Ich habe die C Version ausprobiert, beim compleieren, bekomme ich aber den Error:In function ‘getDigit’:
:30:35: error: invalid operands to binary % (have ‘double’ and ‘int’)Ich weiß jetzt aber irgendwie nicht was da los ist.
Der Code ist der selbe wie im FAQ Beitrag.
PS: Falls es wichtig ist, verwende den GCC.PSS: Falls ich im Falschen Themengebiet bin, bitte verschieben.
-
pow liefert als Rückgabewert einen double während der Modulo-Operator (%) nur mit Ganzzahlen rechnet.
Lösungsvorschlag:
// C-Version #include <math.h> unsigned short int getDigit (long int num, unsigned short int digit) { return (int)(num / pow(10,digit)) % 10; } // C++-Version #include <cmath> unsigned short int getDigit (long int num, unsigned short int digit) { return static_cast<int>(num / pow(10,digit)) % 10; }
-
Danke, vielleicht sollte man auch den Tipp im FAQ ändern...
MfG
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
derFer schrieb:
Danke, vielleicht sollte man auch den Tipp im FAQ ändern...
MfGErledigt.
MfG SideWinder