Seite 1 von 1

Dezimalzahl in Bruch umwandeln...

Verfasst: Mittwoch 26. September 2012, 09:20
von Amsel
Ist es möglich, vermittels einer Vordefinierten Funktion in Python eine Dezimalzahl in einen Buch zu verwandeln?

Also im Sinne von die_Funktion(0.5) -> 1/2 ?

Ich habe hier im Forum nach "Bruch" geschaut und war auch im Pythonwiki, im Netz habe ich auch nix gefunden, weshalb ich dachte, ich frage mal hier.

Re: Dezimalzahl in Bruch umwandeln...

Verfasst: Mittwoch 26. September 2012, 10:36
von OldBoy
Batteries included :

Code: Alles auswählen

x = 0.5
print x.as_integer_ratio()

Re: Dezimalzahl in Bruch umwandeln...

Verfasst: Mittwoch 26. September 2012, 10:47
von BlackJack
Wobei man vorsichtig sein muss, beziehungsweise um die Besonderheiten von der internen Gleitkommazahlendarstellung die üblicherweise bei Rechnern verwendet wird:

Code: Alles auswählen

In [64]: 0.5 .as_integer_ratio()
Out[64]: (1, 2)

In [65]: 0.1 .as_integer_ratio()
Out[65]: (3602879701896397L, 36028797018963968L)
Das ist vielleicht nicht das Ergebnis was man naiverweise erwarten könnte. :-)

Bruch heisst auf Englisch übrigens „Fraction” und mit dem Begriff sollte man recht schnell auf das `fractions`-Modul in der Standardbibliothek stossen.