Exécution des conversions (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Conversion de mesures (C++)

Vous pouvez utiliser la fonction Convert pour exécuter des conversions simples ou complexes. Cette fonction inclut une syntaxe simple et une seconde syntaxe réservée aux conversions entre des types de mesure complexes.

Exécution des conversions simples

Vous pouvez utiliser la fonction Convert pour convertir une mesure d'un ensemble d'unités vers un autre. La fonction Convert effectue des conversions entre des unités mesurant le même type de chose (distance, surface, temps, température, et ainsi de suite).

Pour utiliser Convert, vous devez spécifier les unités à partir desquelles convertir et vers quoi convertir. Vous utilisez le type TConvType pour identifier les unités de mesure.

Par exemple, le code qui suit convertit une température de degrés Fahrenheit en degrés Kelvin :

 TempInKelvin = Convert(StrToFloat(Edit1->Text), tuFahrenheit, tuKelvin);

Exécution des conversions complexes

Vous pouvez aussi utiliser la fonction Convert pour effectuer des conversions plus complexes entre des rapports de deux types de mesure. C’est le cas lorsque vous effectuez des conversions de miles par heure en mètres par minute pour exprimer une vitesse ou de gallons par minute en litres par heure pour exprimer un débit.

Par exemple, l’appel suivant convertit des miles par gallon en kilomètres par litre :

 double nKPL = Convert(StrToFloat(Edit1.Text), duMiles, vuGallons, duKilometers, vuLiter);

Les unités que vous convertissez doivent appartenir à la même famille de conversion (elles doivent mesurer la même chose). Si les unités ne sont pas compatibles, Convert déclenche une exception EConversionError. Vous pouvez vérifier si deux valeurs TConvType appartiennent à la même famille de conversion en appelant CompatibleConversionTypes.

L'unité System.StdConvs définit plusieurs familles de valeurs TConvType.

Voir aussi