In der Dokumentation für die Funktion round () wird angegeben, dass Sie eine Zahl und die Positionen nach der Dezimalstelle an round übergeben. Also sollte es dies tun:
n = 5.59
round(n, 1) # 5.6
Aber in Wirklichkeit schleicht sich eine gute alte Gleitkomma-Verrücktheit ein und Sie erhalten:
5.5999999999999996
Für die Zwecke der Benutzeroberfläche muss ich anzeigen 5.6
. Ich habe mich im Internet umgesehen und eine Dokumentation gefunden , die von meiner Implementierung von Python abhängt. Leider tritt dies sowohl auf meinem Windows-Entwicklungscomputer als auch auf jedem Linux-Server auf, den ich ausprobiert habe. Siehe auch hier .
Gibt es einen Weg, dies zu umgehen, ohne meine eigene runde Bibliothek zu erstellen?
round(5.55, 1) = 5.5
.