Wie kann ich viele wichtige Figuren in Python drucken?

8

Für eine wissenschaftliche Anwendung muss ich sehr genaue Zahlen ausgeben, also muss ich 15 signifikante Zahlen drucken. Es gibt bereits Fragen zu diesem Thema hier, aber alle betreffen trunking die Ziffern, nicht mehr drucken.

Ich habe festgestellt, dass die Funktion print die Eingabe float in 10 Zeichen string konvertiert. Außerdem wurde mir das decimal Modul bewusst, aber das passt nicht zu meinen Bedürfnissen.

Die Frage ist also, wie kann ich einfach eine variable Menge von signifikanten Figuren meiner Schwimmer drucken, wo ich mehr als 10 anzeigen muss?

    
Ingo 23.02.2012, 15:26
quelle

4 Antworten

12

Sie könnten den Operator für die Zeichenkettenformatierung % :

verwenden %Vor%

oder str.format() :

%Vor%

Im neuen Code ist letzterer der bevorzugte Stil, obwohl ersterer immer noch weit verbreitet ist.

Weitere Informationen finden Sie in der Dokumentation .

    
NPE 23.02.2012, 15:27
quelle
8

Dachte die ursprüngliche Frage wollte n signifikante Zahlen, nicht n Dezimalstellen formatieren. Also eine benutzerdefinierte Funktion erforderlich sein, bis einige native integrierte Typen angeboten werden? Du willst also etwas wie:

%Vor%     
Bijou Smith 27.10.2013 02:25
quelle
3

Verwenden Sie diese beiden allgemeinen Druck-Idiome zum Formatieren. Es ist eine Frage des persönlichen Geschmacks, auf dem ist besser.

%Vor%

Ich persönlich denke, das erste ist kompakter und das zweite ist expliziter. Format hat mehr Funktionen, wenn Sie mit mehreren Werten arbeiten.

    
Matt Alcock 23.02.2012 16:05
quelle
1

Sie könnten diese Funktion verwenden, die ich geschrieben habe, es scheint gut zu funktionieren und es ist ziemlich einfach !:

%Vor%
  1. Es konvertiert zuerst die Zahl in eine Zeichenfolge mit der Exponentialschreibweise
  2. Gibt dann als float zurück.

Einige Tests:

%Vor%

Ich hoffe, das hilft dir;)

    
ionelberdin 02.08.2014 17:24
quelle

Tags und Links