Auf gültige Ziffern runden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gast

Mittwoch 26. Januar 2005, 17:35

Hallo,
per Suchfunktion und in den Tutorials nicht so richtig was gefunden...darum hier ;)

Ich will eigentlich nur auf 6 gültige Ziffern runden.
D.H.

64.74332 --> 64.7433
128.39874 --> 128.399
1.57463855 --> 1.57464

Gibt es da einen einfachen Formatierungbefehl?
Mit %.*f kann ich ja nur die Nachkommastellen runden....???

Danke euch
Gast

Mittwoch 26. Januar 2005, 17:38

arrrrrrgh
sorry habs selbst gefunden..

stimmt das ?
mit "%5g" % zahl ???????

danke
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 26. Januar 2005, 18:00

Es gibt das round() Builtin, fällt mir spontan ein.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Mittwoch 26. Januar 2005, 23:48

Hi

*edit" ups hab dich falsch verstanden

Also dein g macht mal das was du willst, aber irgendwie passt die beschreibung hier nicht dazu:

http://docs.python.org/lib/typesseq-strings.html


Gruss
BlackJack

Donnerstag 27. Januar 2005, 00:24

Anonymous hat geschrieben:stimmt das ?
mit "%5g" % zahl ???????
Bringt zwar das gewünschte Ergebnis, aber nur zufällig. Du kannst die 5 weglassen, die gibt die Mindestlänge an. Deine Beispiele haben alle mehr als 5 Zeichen, also wird die Zeichenkette nie mit Leerzeichen aufgefüllt. Wichtig wäre die Angabe der Präzision, also "%.6g" (man beachte den Punkt) aber 6 Stellen ist sowieso die Voreinstellung.

Aus der Python-Doku ist das tatsächlich nicht ersichtlich -- ich habe in der manpage zur C Funktion printf() nachgeschaut.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 27. Januar 2005, 13:41

BlackJack hat geschrieben:Aus der Python-Doku ist das tatsächlich nicht ersichtlich -- ich habe in der manpage zur C Funktion printf() nachgeschaut.
Sollte nicht sein - die Doku ist zu ändern. Wo könnte man sich da eigentlich melden?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Donnerstag 27. Januar 2005, 16:38

Beim offiziellen Bugtracker gibt's auch eine Kategorie "Documentation" für "doc bugs".
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 27. Januar 2005, 16:43

Den gibts schon. Das ist Bug 839585. Da hat sich aber nicht viel getan seit letzter Zeit. :(
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten