C#: Von Float kommazahl Zahl vor dem komma beckommen?
Hi, ich habe eine float kommazahl und würde gerne die Zahl vor dem komma (nicht gerundet)als float speichern.
Wiest ihr wie das geht?
4 Antworten
Das kommt auf die Programmiersprache an. In vielen Fällen geht das aber, indem man die Gleitkommazahl (float) einfach in eine Ganzzahl (integer) castet.
Wenn x die Gleitkommazahl ist, so könnte man beispielsweise in Python (und auch in einigen anderen Sprachen) die ganze Zahl vor dem Komma einfach mit
int(x)
erhalten.
=====Ergänzung======
Da in den Themen zur Frage „CSharp“ steht, geht es denke ich um die Programmiersprache C#. Da kann man einen entsprechenden Cast hin zu einer Ganzzahl mit dem Voranstellen von „(int)“ bewirken. [Musste ich kurz recherchieren, da ich selbst sonst mit C# noch nicht viel Kontakt hatte.]
Wenn also x die Gleitkommazahl ist, erhält man die entsprechende Ganzzahl (vor dem Komma) durch
(int)x
Bzw. wenn du das dann in einer neuen Ganzzahl-Variable i speichern möchtest
int i = (int)x;
Danke. Ja, ich habe auch gerade aufgrund der Themen zur Frage gemerkt, dass es evtl. um C# geht.
Vorhin stand das noch nicht im Titel. Das wurde nachträglich bearbeitet. Das kann man beispielsweise auch damit belegen, dass das sonst entsprechend auch im Link zur Frage stehen würde:
https://www.gutefrage.net/frage/von-float-kommazahl-zahl-vor-dem-komma-beckommen
Um es anders zu formulieren: Du willst die Nachkommastellen weg haben?
Das ist das Standardverhalten aller Ganzzahlen, also caste einfach auf eine Ganzzahl.
float f = 1.2F;
int i = (int)f;
wieso nicht gerundet?
Der Trick ist halt nicht kaufmännisch zu runden, sondern abzurunden.
Dafür lässt sich eigentlich immer irgendwo eine truncate Funktion finden (weiss ja nicht welche Programmiersprache du nutzt.
In javascript wäre es z.B. die hier:
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
Hey,
schau dir das hier mal an:
https://docs.microsoft.com/de-de/dotnet/api/system.math.floor
Mfg Jannick (L1nd)
Hier geht's um C# und da sieht's so aus: