

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# $ rond
<a name="round"></a>

Nouveau depuis la version 8.0.1.

Dans Amazon DocumentDB, `$round` l'opérateur arrondit un nombre à la décimale spécifiée. Lorsqu'une valeur se situe exactement à mi-chemin entre les deux valeurs les plus proches à cet endroit, `$round` arrondit au chiffre pair le plus proche. Par exemple, 2,5 tours contre 2 et 3,5 tours contre 4.

**Paramètres**
+ `number`: expression qui se résout en un nombre.
+ `place`: Facultatif. Expression entière comprise entre -20 et 100 qui spécifie le nombre de décimales à arrondir. Une valeur négative est arrondie à gauche de la décimale. La valeur par défaut est 0.

## Exemple (MongoDB Shell)
<a name="round-examples"></a>

L'exemple suivant montre comment utiliser l'`$round`opérateur pour arrondir des valeurs numériques à une décimale.

**Arrondir avec une valeur de position positive **

```
db.measurements.insertMany([
  {_id: 1, value: 3.456},
  {_id: 2, value: 7.891},
  {_id: 3, value: 12.345}
]);
```

**Exemple de requête **

```
db.measurements.aggregate([
  { $project: { rounded: { $round: ["$value", 1] } } }
]);
```

**Sortie**

```
[
  {_id: 1, rounded: 3.5},
  {_id: 2, rounded: 7.9},
  {_id: 3, rounded: 12.3}
]
```

**Arrondir les valeurs à mi-chemin au chiffre pair le plus proche **

Lorsqu'une valeur se situe exactement à mi-chemin entre les deux valeurs les plus proches à l'endroit cible, `$round` arrondissez au chiffre pair le plus proche au lieu de toujours arrondir. L'exemple suivant arrondit les valeurs intermédiaires à des entiers entiers.

```
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] } } }
]);
```

**Sortie**

```
[
  {_id: 1, rounded: 10},
  {_id: 2, rounded: 12},
  {_id: 3, rounded: 12},
  {_id: 4, rounded: 14}
]
```

Parce que `10.5` c'est exactement à mi-chemin entre `10` et`11`, il arrondit à la valeur paire la plus proche`10`. De même, `11.5` les `12.5` deux arrondissent à la valeur paire la `12` plus proche et `13.5` arrondissent à`14`.

**Arrondir avec une valeur de position négative **

Quand `place` c'est négatif, `$round` arrondit à gauche de la décimale. L'exemple suivant arrondit les valeurs en utilisant le premier chiffre à gauche de la décimale.

```
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] } } }
]);
```

**Sortie**

```
[
  {_id: 1, rounded: 20},
  {_id: 2, rounded: 30},
  {_id: 3, rounded: 30}
]
```

## Exemples de code
<a name="round-code"></a>

Pour afficher un exemple de code d'utilisation de l'`$round`opérateur, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

------
#### [ Node.js ]

```
const { MongoClient } = require('mongodb');

async function example() {
  const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  try {
    await client.connect();
    const db = client.db('test');
    const collection = db.collection('measurements');
    const result = await collection.aggregate([
      { $project: { rounded: { $round: ["$value", 1] } } }
    ]).toArray();
    console.log(result);
  } finally {
    await client.close();
  }
}
example();
```

------
#### [ Python ]

```
from pymongo import MongoClient

def example():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    try:
        db = client['test']
        collection = db['measurements']
        result = list(collection.aggregate([
            {'$project': {'rounded': {'$round': ['$value', 1]}}}
        ]))
        print(result)
    finally:
        client.close()

example()
```

------