Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$round
Nuovo dalla versione 8.0.1.
L'$roundoperatore in Amazon DocumentDB arrotonda un numero a una cifra decimale specificata. Quando un valore cade esattamente a metà strada tra i due valori più vicini in quel punto, viene $round arrotondato alla cifra pari più vicina. Ad esempio, 2,5 viene arrotondato a 2 e 3,5 viene arrotondato a 4.
Parametri
number: Un'espressione che si risolve in un numero.place: facoltativo. Un'espressione intera compresa tra -20 e 100 che specifica il numero di cifre decimali a cui arrotondare. Un valore negativo viene arrotondato a sinistra del decimale. Il valore predefinito è 0.
Esempio (MongoDB Shell)
L'esempio seguente mostra come utilizzare l'$roundoperatore per arrotondare i valori numerici a una cifra decimale.
Arrotondamento con un valore posizionale positivo
db.measurements.insertMany([ {_id: 1, value: 3.456}, {_id: 2, value: 7.891}, {_id: 3, value: 12.345} ]);
Esempio di interrogazione
db.measurements.aggregate([ { $project: { rounded: { $round: ["$value", 1] } } } ]);
Output
[
{_id: 1, rounded: 3.5},
{_id: 2, rounded: 7.9},
{_id: 3, rounded: 12.3}
]
Arrotondare i valori a metà alla cifra pari più vicina
Quando un valore è esattamente a metà strada tra i due valori più vicini nel punto di destinazione, viene arrotondato alla cifra pari più vicina $round anziché arrotondare sempre per eccesso. L'esempio seguente arrotonda a metà i valori interi.
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] } } } ]);
Output
[
{_id: 1, rounded: 10},
{_id: 2, rounded: 12},
{_id: 3, rounded: 12},
{_id: 4, rounded: 14}
]
Poiché 10.5 è esattamente a metà strada tra 10 e11, viene arrotondato al valore pari più vicino. 10 Analogamente, 11.5 arrotonda 12.5 entrambi al valore 12 pari più vicino e 13.5 arrotonda a. 14
Arrotondamento con un valore posizionale negativo
Quando place è negativo, viene $round arrotondato a sinistra del decimale. L'esempio seguente arrotonda i valori utilizzando la prima cifra a sinistra del decimale.
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] } } } ]);
Output
[
{_id: 1, rounded: 20},
{_id: 2, rounded: 30},
{_id: 3, rounded: 30}
]
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo $round dell'operatore, scegli la scheda corrispondente alla lingua che desideri utilizzare: