Forum: PC-Programmierung Decimal in Integer wandeln - C# 2005


von Philipp (Gast)


Lesenswert?

Hallo
hab ein kleines Problem. Mein NumericUpDown Steuerelement gibt bei der
mumericUpDown.Value einen Decimal Wert zurück (ganzzahlig). Wie kann
ich nun diesen Decimal Wert in eine Integer umwandeln. Der Wert ist
ganzzahlig und kleiner als 250, müsste also in einen Integer passen.

Danke für eure Hilfe

von Tobias O. (Gast)


Lesenswert?

Das ganze nennt sich Typecasting. Den Datentyp für die Umwandlung
schreibst du in Klammern vor den Wert den du umwandeln möchtest.

integer = (integer) dez;

von Klaus (Gast)


Lesenswert?

Hi,

bitte beachte folgendes:
ein "long" ist in C# 64 bit breit,
ein "int"  ist in C# 32 bit breit,
ein "char" ist in C# 16 bit breit.

Alle diese so deklarierten Parameter sind immer vorzeichenbehaftet.
Ich nehme an, das Du dieses als "ganzzahlig" bezeichnest.

Ich würde nun so
     char TestChar = (char)dezimalwert;
das Typecasting machen.

Meines Wissens nach gibt es keinen Type "8-Bit breit und signed".


Bye
Klaus

von Philipp (Gast)


Lesenswert?

Danke für eure Antworten.
Es hat auf anhieb funktioniert.

Gruss
Philipp

von arc (Gast)


Lesenswert?

Kleine Ergänzung: Char ist unsigned, 8-Bit signed wäre sbyte

von Bartli (Gast)


Lesenswert?

Noch ne Ergänzung:
In C# mit char rechnen zu wollen ist doch witzlos. Als ganzzahlige 16
Bit breite Typen stehen short/ushort zur Verfügung.

von Marcus (Gast)


Lesenswert?

Hallo, auf das casten verzichten und Convert.ToByte(Zahl) nehmen da
lassen sich über try und catch auch Fehler abfangen, falls die Zahl
durch einen Fehler größer wird als 255.

Marcus

von Klaus (Gast)


Lesenswert?

Hi Marcus,
du hast Recht. Man sollte C und C# sauber trennen.

Bye
Klaus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.