Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Letzte Ziffer eines integers

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.06.2006, 18:05 Uhr
Karldin Shinowa
Professional Noob


Ich bräuchte eine Möglichkeit aus einem integer die letzte Ziffer zu bekommen und diese abzuziehen( also 1234---->123). Is keine hausaufgabe . Hab auch schon ne Lösungsmethode die funktioniert aber die is nicht das gelbe vom ei

C++:
float z1=static_cast<float>(*currentValue)/10;//123,4
int z2=static_cast<int>(*currentValue/10);//123
float z3=z1-static_cast<float>(z2);//0,4
*currentValue-=static_cast<int>(z3*10);
*currentValue/=10;




--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.

Dieser Post wurde am 04.06.2006 um 18:06 Uhr von Karldin Shinowa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.06.2006, 18:16 Uhr
Pler
Einer von Vielen
(Operator)



C++:
#include <stdio.h>

int main()
{
        int zahl;

        printf( "Eingabe:");
        scanf( "%d" , &zahl );

        zahl -= zahl%10; // eigentlich unnoetig ?
        zahl /= 10;

        printf( "Ergebnis: %d\n" , zahl );

        return 0;
}




Nachtrag:
Oh, ich sollte die Fragen erst mal richtig durchlesen...
Aber seit dieser Peter-Geschichte stehen wir hier ein bisschen unter Druck...

Dieser Post wurde am 04.06.2006 um 18:18 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.06.2006, 18:36 Uhr
kronos
Quotenfisch
(Operator)


Der compiler rundet standardmäßig ab, d.h. für ein Rechtsshift musst du also lediglich durch die Basis deines Zahlensystems teilen.
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.06.2006, 18:52 Uhr
~haase
Gast


Kommt drauf an zu welchem Zahlensystem deine letzte Ziffer gehört
dezimal mußte durch 10 teilen == letzte Ziffer weg
hexadezimal 16
oktal 8
binär 2
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.06.2006, 02:34 Uhr
Hans
Library Walker
(Operator)


Hi,
oder der Umweg über Text:
* Zahl in einen String schreiben (sprintf, o.ä.)
* Letztes Zeichen merken und abschneiden
* beides wieder nach int konvertieren (umwandeln), z.B. mit atoi

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: