Um eine Antwort auf 2 Nachkommastellen in Python
Das Problem, das ich habe, ist meine Rundungen, meine Ergebnisse auf 2 Dezimalstellen. Meine app bekommt das richtige Ergebnis, aber ich bin mir Schwierigkeiten machen die app Runde auf die nächste dezimale, wie Sie mit der Währung
cost = input("\nEnter the 12 month cost of the Order: ")
cost = float(cost)
print("\n12 Month Cost:",
cost * 1,"USD")
print("6 Month Cost:",
cost * 0.60,"USD")
print("3 Month Cost:",
cost * 0.36,"USD")
so zum Beispiel, wenn der 12 Monat ist der Preis $23, die 6-Monats-Preis ist 13.799999999999999 aber ich will es zeigen 13.80
Ich habe sah rund um google und wie man eine Runde Zahl, konnte aber nicht viel Hilfe auf der Rundung ein Ergebnis.
- Nur ein Punkt, über Ihre Multiplikatoren für 12 Monate, 6 Monate und 3 Monate Kosten... ich denke, diese sollte 1, 0,5 und 0,25 anstelle von 1 auf 0,6 und 0,36. Sie nehmen 50% von 12 Monaten (6 Monate) und 25% der 12 Monate (3 Monate).
- Es ist möglich, dass der OP schreibt, ein Abonnement-system bietet die besten Rabatte auf der Grundlage der Länge der Zeit abonniert. Abonnieren für sechs Monate für $13.80, aber abonnieren von zwölf Monaten $4.60 billiger über den Kosten des Jahres!!!
- sehr guter Punkt! Ich habe eine Menge Mathematik/Naturwissenschaft Daten Verarbeitung. Peinlich Annahme auf meinem Teil.
- Keine Sorge, ich hatte den gleichen Gedanken, den Sie Tat, bis ich sah, dass Sie bereits geschrieben... nur, nachdem Sie schrieb Ihren Kommentar habe ich mit Ausnahme; ich bin sicher, dass wir, wenn wir angekommen in einer anderen Reihenfolge, unsere Positionen möglicherweise vertauscht worden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie einen Formatbezeichner:
Besser noch, Sie sollten sich nicht darauf verlassen, dass floating-point-zahlen und verwenden Sie die
decimal
Modul statt, die Ihnen beliebige Präzision und viel mehr Kontrolle über die Rundung Methode:decimal
- Modul?Wenn Sie nur wollen, um es als string-format können helfen:
Diese Funktion liefert eine Zeichenkette, die formatiert ist, wie der zweite parameter definiert. Also, wenn die Kosten enthält 3.1418 der obige code gibt die Zeichenfolge '3.14'.
Eine klassische Art und Weise zu multiplizieren, durch 100, fügen Sie 0.5 (dieses ist rund) und int() das Ergebnis. Jetzt haben Sie die Anzahl der gerundeten Cent, geteilt durch 100 mal wieder zurück zu erhalten der gerundete Gleitkommawert.
Wenn Sie nur wollen, es zu drucken, string-Formatierung arbeiten: