Python-Einstellung Dezimalstelle Bereich ohne Rundung?
Wie kann ich eine float-variable, und kontrollieren, wie weit der Schwimmer geht ohne round()? Zum Beispiel.
w = float(1.678)
Möchte ich x und machen den folgenden Variablen aus.
x = 1.67
y = 1.6
z = 1
Nutzen, wenn ich die jeweilige Runde Methoden:
x = round(w, 2) # With round I get 1.68
y = round(y, 1) # With round I get 1.7
z = round(z, 0) # With round I get 2.0
Es geht um Runde und verändern die zahlen zu dem Punkt, wo es mir nicht. Ich verstehe, das ist der Punkt der Runde und seine ordnungsgemäß funktioniert. Wie würde ich mich über erste Informationen, die ich brauche, in der x,y,z Variablen und noch in der Lage sein, um Sie in die anderen Gleichungen in einem float-format?
[math.floor(w * 10 ** i) / 10 ** i for i in range(3)]
- Der obige Kommentar ist eigentlich das, was ich in diesem Fall verwendet. Ich bin nicht in der Lage, es zu akzeptieren, da die Antwort als es veröffentlicht wurde, als Kommentar. Danke!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie tun:
testen:
Eine super einfache Lösung ist die Verwendung von Zeichenfolgen
Beliebigen floating-point-library-Lösungen erfordern würde, Sie weichen Sie einige Runden, und über die Boden - /Potenzen von 10 zu Holen, die Nachkommastellen kann ein wenig Behaart, im Vergleich zu den oben genannten.
Wenn Sie nur brauchen, um die Kontrolle der Präzision im format
Wenn Sie brauchen, um die Kontrolle der Präzision in Gleitkomma-Arithmetik
--edit--
Ohne "Abrundungen", also das abschneiden der Anzahl