Konvertieren Float Dezimalstellen ohne Rundung

Habe ich eine Liste, und Sie enthält eine gewisse Anzahl '5.74536541' in dem ich eine Konvertierung in eine float.

Ich bin drucken Sie es aus in Python 3 mit ("%0.2f" % (variable)) aber druckt er immer aus 5.75 statt 5.74.

Ich weiß, Sie denken wen kümmert es, aber es ist für eine Währung-Konverter-Programm, und ich will nicht, dass die Währungen zu round up/down-aber um genau zu sein.

Wie kann ich halten Sie es aus Rundung, sondern halten auch die 2 Nachkommastellen?

  • stackoverflow.com/questions/783897/truncating-floats-in-python
  • Wenn Sie sicher sind, dass der string eine Zahl ist, dann können Sie einfach Bearbeiten den text direkt.
  • Deine Frage macht keinen Sinn, 5.75 näher an die Zahl als 5.74. Halten Sie die zahlen so gespeichert, wie Sie schwimmt, und lassen Sie Sie drucken mit Rundung - was ist das problem?
  • Hat er nicht das schweigen der Vernunft in der Frage? I know you're thinking who cares, but it is for a currency converter program and I don't want the currencies to round up/down but to be exact.
  • Wenn ich die Google-Währung-Konverter-er wandelt auf 5.74 nicht 5.75, ich bin mit, dass um genau zu sein.
  • Das ist nicht 'exakt', obwohl. Die richtige Art und Weise zu tun, ist es, alle die Mathe in voller Präzision (evtl. auch mit decimal-Modul, für finanzielle Sachen) und nur Runde für Druck Zwecke.
  • Ich glaube nicht, dass "exakt" bedeutet, was Sie denken, es bedeutet

InformationsquelleAutor Goose | 2012-12-04
Schreibe einen Kommentar