Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$ Runde
Neu ab Version 8.0.1.
Der $round Operator in Amazon DocumentDB rundet eine Zahl auf eine angegebene Dezimalstelle. Wenn ein Wert genau in der Mitte zwischen den beiden nächstgelegenen Werten an dieser Stelle liegt, wird auf die nächste gerade Stelle $round gerundet. Beispiel: 2,5 Runden auf 2 und 3,5 Runden auf 4.
Parameter
number: Ein Ausdruck, der in eine Zahl aufgelöst wird.place: Optional. Ein Ganzzahlausdruck zwischen -20 und 100, der die Anzahl der Dezimalstellen angibt, auf die gerundet werden soll. Ein negativer Wert wird auf die linke Seite der Dezimalstelle gerundet. Der Standardwert ist 0.
Beispiel (MongoDB Shell)
Das folgende Beispiel zeigt, wie der $round Operator verwendet wird, um numerische Werte auf eine Dezimalstelle zu runden.
Rundung mit einem positiven Stellenwert
db.measurements.insertMany([ {_id: 1, value: 3.456}, {_id: 2, value: 7.891}, {_id: 3, value: 12.345} ]);
Beispiel für eine Abfrage
db.measurements.aggregate([ { $project: { rounded: { $round: ["$value", 1] } } } ]);
Ausgabe
[
{_id: 1, rounded: 3.5},
{_id: 2, rounded: 7.9},
{_id: 3, rounded: 12.3}
]
Auf halber Strecke liegende Werte auf die nächste gerade Ziffer runden
Wenn ein Wert genau in der Mitte zwischen den beiden nächstgelegenen Werten an der Zielstelle liegt, wird auf die nächste gerade Ziffer gerundet, anstatt immer $round aufzurunden. Im folgenden Beispiel werden Werte auf halber Strecke auf ganze ganze Zahlen gerundet.
db.halfway.insertMany([ {_id: 1, value: 10.5}, {_id: 2, value: 11.5}, {_id: 3, value: 12.5}, {_id: 4, value: 13.5} ]);
db.halfway.aggregate([ { $project: { rounded: { $round: ["$value", 0] } } } ]);
Ausgabe
[
{_id: 1, rounded: 10},
{_id: 2, rounded: 12},
{_id: 3, rounded: 12},
{_id: 4, rounded: 14}
]
Weil genau in der Mitte zwischen 10 und 10.5 liegt11, wird auf den nächsten geraden Wert gerundet. 10 Ähnlich, 11.5 und 12.5 beide werden auf den nächsten geraden Wert 12 13.5 gerundet und auf 14 gerundet.
Rundung mit einem negativen Stellenwert
Wenn negativ place ist, wird auf die linke Seite der Dezimalstelle $round gerundet. Im folgenden Beispiel werden Werte mit der ersten Ziffer links von der Dezimalstelle gerundet.
db.samples.insertMany([ {_id: 1, value: 19.25}, {_id: 2, value: 28.73}, {_id: 3, value: 34.32} ]);
db.samples.aggregate([ { $project: { rounded: { $round: ["$value", -1] } } } ]);
Ausgabe
[
{_id: 1, rounded: 20},
{_id: 2, rounded: 30},
{_id: 3, rounded: 30}
]
Codebeispiele
Um ein Codebeispiel für die Verwendung des $round Operators anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: