Hallo Specialisten ...
Wie runden geht hab ich verstanden, aber ich will was spezielles. Ich möchte eine Zahl, wenn sie einen Nachkommateil hat, aufrunden, eine andere abrunden, egal, wie der Nachkommatail ist, wo das normale round auch nicht ginge, sondern ich würde nur den Vorkommateil haben wollen.
In C++ würde ich das machen mit if x%y==0, dann int(x/7)+1 also xmody --- wie kann ich das in Python machen. Fraktion gibt es dort nicht.
Danke für die Tips...
spezielles runden
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Bykl: Was meinst Du mit „Fraktion gibt es dort nicht.“? Die ganzen C-Mathe-Funktionen sind im `math`-Modul, und für Brüche gibt es das `fractions`-Modul.
Den Modulo-Operator gibt's mit ``%`` für ganze Zahlen genau wie in C++ (allerdings: Vorsicht bei negativen Zahlen, und wenn 0 als zweiter Operand geht, dann hat C++ eine andere Auffassung von Teilen durch 0 als Python). Für Gleitkommazahlen gibt's `math.fmod()` allerdings auch hier kein Teilen durch 0 möglich, also suchst Du `math.modf()`.
Aufrunden wenn Nachkommaanteil: ``x = int(y) + 1 if math.modf(y)[0] else 0``. Nur Vorkommaanteil ist einfach `int()`.
Den Modulo-Operator gibt's mit ``%`` für ganze Zahlen genau wie in C++ (allerdings: Vorsicht bei negativen Zahlen, und wenn 0 als zweiter Operand geht, dann hat C++ eine andere Auffassung von Teilen durch 0 als Python). Für Gleitkommazahlen gibt's `math.fmod()` allerdings auch hier kein Teilen durch 0 möglich, also suchst Du `math.modf()`.
Aufrunden wenn Nachkommaanteil: ``x = int(y) + 1 if math.modf(y)[0] else 0``. Nur Vorkommaanteil ist einfach `int()`.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman