> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/data-logic/data-operations/data-type-converter.md).

# Data Type Converter

*Un bloc simple pour modifier le type de donnée d'une valeur entrante afin que les blocs en aval reçoivent le format attendu. Utilisez-le lorsque vous devez garantir qu'une valeur soit traitée comme `number`, `text`, `list`, `dictionary`, `batch` ou `boolean` pour un traitement ou une exportation ultérieure.*

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Generic` — Tout type de donnée en entrée (texte, nombre, liste, batch, etc.). Fournissez la valeur que vous souhaitez convertir.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Generic` — La valeur convertie dans le type cible sélectionné. Utilisez cette sortie pour alimenter d'autres blocs qui attendent un type de donnée spécifique.

## 🕹️ Controls <a href="#controls" id="controls"></a>

`Convert to` — Menu déroulant où vous choisissez le type cible. Les choix disponibles incluent `Integer`, `Boolean`, `String`, `Float`, `Batch`, `List` et `Dictionary`.

## 🎨 Features <a href="#features" id="features"></a>

* Convertit des valeurs scalaires uniques entre les types courants (nombre, texte, boolean).
* Crée des wrappers `List` ou `Batch` lorsque les blocs en aval nécessitent une collection.
* Parse du texte de type JSON en `Dictionary` lorsque l'option `Dictionary` est sélectionnée et que l'entrée est une chaîne JSON valide.
* Comportement défensif : si l'entrée est manquante ou incompatible, le bloc fournit une valeur par défaut sûre et signale le problème.

## 📝 Usage Instructions <a href="#usage" id="usage"></a>

1. Connectez la source de données à l'entrée `Generic`.
2. Choisissez le type cible souhaité avec le menu déroulant `Convert to`.
3. Utilisez la sortie `Generic` du bloc comme entrée pour les blocs en aval qui requièrent le type choisi.

Scénarios courants :

* Convertir un texte saisi par l'utilisateur en nombre avant d'appliquer des blocs mathématiques.
* Convertir une chaîne JSON en `Dictionary` avant d'exporter ou d'extraire des champs.
* Envelopper un élément unique dans une `List` ou un `Batch` afin que des blocs capables de traiter des listes puissent l'utiliser.

(hint : utilisez des blocs `String Input` ou `Number Input` comme sources simples lors des tests de conversion)

## 📊 Evaluation <a href="#evaluation" id="evaluation"></a>

Lorsque le bloc s'exécute, il lit l'entrée courante et la renvoie dans le format sélectionné. Si la conversion est impossible, il produit une valeur par défaut sûre et journalise la condition pour vérification.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Utilisez `Debug Input` pour inspecter les valeurs brutes avant conversion afin de choisir le type cible approprié.
* Si vous attendez des valeurs manquantes, placez `Is None` avant ce bloc pour les détecter et `Replace None` pour insérer une valeur de substitution.
* Pour préparer des payloads structurés pour des logs ou API, combinez `String Merge` ou `Data to JSON` avec ce bloc pour obtenir des données correctement formatées.
* Pour les workflows en batch, associez ce bloc à `Batch Concatenation`, `Get Batch Size` ou `Debatch` pour inspecter ou aplatir le contenu des batchs après conversion.
* Après conversion en `Dictionary`, persistez ou partagez les résultats avec `Data Write Local`, `Data Write Global` ou exportez via `CSV Export`.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* Si la conversion échoue ou que la sortie semble inchangée, vérifiez la valeur d'entrée avec `Debug Input` pour confirmer son type et son contenu.
* Si la conversion en `Dictionary` ne fonctionne pas, assurez-vous que l'entrée est un texte JSON valide (guillemets, virgules, accolades corrects).
* Lors du travail avec des `Batch` ou `List`, confirmez que la cible sélectionnée (`List` vs `Batch`) correspond à ce que les blocs en aval attendent ; utilisez `Get Batch Size` pour vérifier le contenu du batch.
* Pour des conversions boolean inattendues, assurez-vous que la chaîne ou le nombre d'entrée suit une convention claire true/false (par exemple `0`/`1` ou `true`/`false`).
