Hallo, ich frage mich, wie man Python dazu bringt, eine Antwort auf viel mehr Dezimalstellen als den Standardwert auszugeben.
Zum Beispiel: Derzeit werden (1/7) Ausgaben gedruckt: 0.14285714285
Ich möchte ausgeben können: 0.142857142857142857142857142857142857142857142857
Antworten:
1 für die Antwort № 1Wenn Sie eine völlig willkürliche Genauigkeit wünschen (die Sie ziemlich genau benötigen, um diese Genauigkeit zu erreichen), empfehle ich Ihnen die mpmath
Modul.
>>> from mpmath import mp
>>> mp.dps = 100
>>> mp.fdiv(1.0,7.0)
mpf("0.1428571428571428571428571428571428571428571428571428571428571428571428571428571428571428571428571428579")
Ich denke, wenn Sie nur sehr einfache Arithmetik machen wollen, das eingebaute decimal
Modul wird ausreichen. Ich würde es trotzdem weiterempfehlen mpmath
für alles komplexere. Sie könnten so etwas versuchen:
>>> import decimal
>>> decimal.setcontext(decimal.Context(prec=100))
>>> decimal.Decimal(1.0) / decimal.Decimal(7.0)
Decimal("0.1428571428571428571428571428571428571428571428571428571428571428571428571428571428571428571428571429")
0 für die Antwort № 2
Sie müssen das verwenden decimal
Modul: https://docs.python.org/3.5/library/decimal.html
>>> from decimal import Decimal
>>> Decimal(1) / Decimal(7)
Decimal("0.1428571428571428571428571429")