Zum Beispiel, wenn 987 gleich "900" sein soll.Wie kann ich in Ruby immer eine Zahl abrunden?
Antwort
n = 987
m = 2
n.floor(-m)
#=> 900
Integer#floor Siehe: „Wenn die Genauigkeit negativ ist, wird der zurückgegebene Wert eine ganze Zahl mit mindestens ndigits.abs
nachgestellten Nullen ist.“
oder
(n/10**m) * 10**m
#=> 900
'n.round (-m)' gibt mir 1.000 statt 900. Könnte 'n.floor (-m)' verwenden, die Negative besser für "immer untergehen" –
@SimpleLime, ja, habe ich 'n. Runde (m) ', also auf meine ursprüngliche Antwort zurückgerollt. Ich werde deinen Vorschlag hinzufügen. Vielen Dank. –
wusste nicht, dass du Negative an diese Methoden weitergeben könntest, bis ich deine gesehen habe und du ein paar Minuten lang auf einigen Variationen davon hin und her gegangen bist, also wäre es unehrlich gewesen, meine eigene Antwort zu posten geringfügiges Detail in einigen bearbeiten Geschichten Ihrer Antwort –
Sie können Logarithmen verwenden, um die besten mehrere zu berechnen, indem zu teilen.
def round_down(n)
log = Math::log10(n)
multip = 10 ** log.to_i
return (n/multip).to_i * multip
end
[4, 9, 19, 59, 101, 201, 1500, 102000].each { |x|
rounded = round_down(x)
puts "#{x} -> #{rounded}"
}
Ergebnis:
4 -> 4
9 -> 9
19 -> 10
59 -> 50
101 -> 100
201 -> 200
1500 -> 1000
102000 -> 100000
Dieser Trick ist sehr praktisch, wenn Sie berechnen müssen auch tick Abstände für Graphen.
- 1. Ruby immer aufrunden
- 2. Wie kann ich eine Nummer in Javascript abrunden?
- 3. Wie kann ich einen Schwimmer abrunden?
- 4. Wie man eine Zahl aufrundet
- 5. Abrunden in swift
- 6. immer eine Zahl mit regulären Ausdrücken
- 7. Raten Sie eine Zahl - Ruby Online
- 8. Wie eine Dezimalzahl abrunden bis auf ganzzahlige
- 9. Abrunden Dezimalstellen in Django
- 10. Eine Zahl in Visual Basic
- 11. to_d, um immer 2 Dezimalstellen in Ruby zurückzugeben
- 12. Wie deklariere ich NaN (keine Zahl) in Ruby?
- 13. Wie erhöhe ich eine Zahl in Elixir?
- 14. Wie kann ich Komplement String in eine Zahl
- 15. Wie kann ich ein Datum in eine ganze Zahl umwandeln?
- 16. Wie kann ich eine Zahl in Excel konvertieren "datatables.js" herunterladen
- 17. Wie kann ich eine Zahl in Perl umwandeln?
- 18. Wie kann ich in .Net eine Dezimalstelle auf 2 Dezimalstellen abrunden?
- 19. MongoDB haben eine ganze Zahl immer positiv
- 20. Eine Zahl wie immer mit mindestens 1 Dezimalpunkt drucken
- 21. Wie rundee ich eine Zahl in JavaScript?
- 22. Wie auszuführen Aufrunden oder Abrunden einer Gleitkommazahl in Python
- 23. Wie kann ich verhindern, dass eine Zahl ins Negative geht?
- 24. Deklarieren eine ganze Zahl Bereich mit Schritt = 1 in Ruby
- 25. Wie kann man den Zeitwert von Minuten in Stunden abrunden?
- 26. So vermeiden Sie das Abrunden in NSNumberFormatter
- 27. Wie kann ich eine konstante Zahl als niedrigste Zahl in einer Spalte festlegen?
- 28. Golang wie kann ich eine ganze Zahl und ein float
- 29. Wie kann ich eine genaue ganze Zahl von Fließkommazahl erhalten?
- 30. Wie kann ich eine Anfrage in Ruby on Rails profilieren?
Willkommen bei SO. Ich würde vorschlagen, stackoverflow.com/help/how-to-ask zu lesen. Es wird Ihnen helfen, solide Fragen zu schreiben, die (hoffentlich) gute Antworten liefern. Und willst du, dass die Zahl abgerundet wird und eine Schnur ist? – orde
Hallo und vielen Dank für den herzlichen Empfang! Eigentlich möchte ich, dass es eine Nummer ist. –