Ich habe an einem Skript gearbeitet, das Daten aus einer XLS-Tabelle übernimmt, die Zahlen rundet und den Dezimalpunkt entfernt, zB: 2606.89579999999 wird 26069; Allerdings brauche ich die Zahl auf zwei Dezimalstellen zu runden, selbst wenn es eine nacheilende Null wäre, so sollte 2606.89579999999 260690 werden.Rundung einer Zahl in Python, aber endende Nullen
Ich habe es derzeit so i
nimmt die Daten aus der Zelle in Excel, und runden es ab zwei Dezimalstellen (i = round(i, 2)
), die mir im obigen Beispiel die einzige Dezimalstelle gibt.
Ich habe versucht herauszufinden, wie man dies mit Decimal
arbeiten, aber ich kann nicht scheinen, es funktioniert zu bekommen.
Alle anderen Zahlen, die gerundet werden, wenn der gerundete Wert nicht in '0' endet, funktionieren gut mit round(i, 2)
, aber wenn die Zahlen so einfach in * .x0 enden, wird diese 0 fallengelassen und durcheinander gebracht die Daten.
Ich glaube, ich Ich habe es gerade herausgefunden - mit 'i = ('% .2f'% i) scheint es zu funktionieren. Ich werde es mit anderen Zahlen testen, um zu überprüfen, ob es funktioniert –
2606.89579999999 sollte 260690 oder 2606.90 werden? – shantanoo
@SethKoberg Ich habe meine Antwort mit Dezimalbeispiel aktualisiert, wenn du das irgendwie verpasst hast (bearbeitet viel um klarer und präziser zu sein) – alko