CDEC |
Conversion en décimal |
|---|---|
| Visual Basic | |
Syntaxe
|
Function CDEC(n As Variant) As Variant |
Paramètres
| Nom | Description |
|---|---|
| n | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Description
Cette fonction permet de convertir une expression en décimal.
Remarques
- La fonction CDec permet de convertir une valeur numérique en un type Decimal, ce qui est particulièrement utile lorsqu'on a besoin d'une grande précision dans les calculs. Cela évite les erreurs d'arrondi souvent rencontrées avec les types Single ou Double.
- Le type Decimal est idéal pour les opérations financières, où chaque chiffre après la virgule compte. Utiliser CDec dans ce contexte garantit une exactitude accrue par rapport aux autres conversions numériques.
- Même si CDec retourne un résultat encapsulé dans un Variant, la valeur sous-jacente est bien de type Decimal, qui est un type distinct en Visual Basic. Il offre une meilleure gestion des valeurs très grandes ou très petites avec une précision fixe.
- La fonction accepte une large gamme d'expressions, comme des chaînes de caractères, des nombres ou des résultats d'opérations mathématiques, à condition qu'ils puissent logiquement être convertis en valeur numérique.
- En cas de tentative de conversion d'une expression non numérique (comme une chaîne de texte sans chiffres), CDec déclenchera une erreur d'exécution. Il est donc recommandé de valider ou d'entourer l'appel avec une gestion d'erreurs (exemple : On Error Resume Next).
- Le type Decimal gère jusqu'à 29 chiffres significatifs, ce qui le rend particulièrement robuste pour les calculs de taux d'intérêt, de TVA, TPS, TVQ ou de facturation, où l'exactitude est primordiale et où les arrondis pourraient poser problème.
- Dans les boucles ou les traitements de masse impliquant de nombreux calculs avec des valeurs précises, CDec est une solution intéressante pour préserver l'intégrité des résultats, surtout lorsque des différences de quelques centièmes peuvent avoir un impact.
- L'utilisation de CDec améliore la lisibilité et l'intention du code. Plutôt que de s'en remettre à une conversion implicite, déclarer explicitement qu'on souhaite travailler en Decimal rend le code plus clair, maintenable, et évite les effets de bord liés aux conversions automatiques.
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
- Sub Main()
- MsgBox "CDec(1)=" & CDec(1) & vbCrLf & _
- "CDec(1.1)=" & CDec(1.1) & vbCrLf & _
- "CDec(1.7)=" & CDec(1.7) & vbCrLf & _
- "CDec(-1)=" & CDec(-1) & vbCrLf & _
- "CDec(-1.1)=" & CDec(-1.1) & vbCrLf & _
- "CDec(-1.7)=" & CDec(-1.7) & vbCrLf & _
- "CDec(30.2)=" & CDec(30.2) & vbCrLf & _
- "CDec(-35.4)=" & CDec(-35.4) & vbCrLf & _
- "CDec(-35.4)=" & CDec(-35.4) & vbCrLf & _
- "CDec(1.31E+15)=" & CDec(1.31E+15)
- End Sub
on obtiendra le résultat suivant :
CSng(1)=1CSng(1.1)=1,1
CSng(1.7)=1,7
CSng(-1)=-1
CSng(-1.1)=-1,1
CSng(-1.7)=-1,7
CSng(30.2)=30,2
CSng(-35.4)=-35,4
CSng(-35.4)=-35,4
CSng(1.31E+15)=1,31E+15
Dernière mise à jour : Lundi, le 19 novembre 2012