CSNG |
Conversion en simple précision |
|---|---|
| ASP 3.0 | |
Syntaxe
| Function CSNG(expression) As Single |
Paramètres
| Nom | Description |
|---|---|
| expression | Ce paramètre permet d'indiquer l'expression scalaire à traiter. |
Description
Cette fonction permet de convertir une expression en un type de simple précision réel.
Remarques
- La fonction CSNG convertit une expression numérique vers le type Single, c'est-à-dire un nombre à virgule flottante en simple précision. Ce type occupe moins d'espace mémoire qu'un type Double, ce qui peut être utile dans des environnements où la performance et la taille mémoire sont critiques.
- Cette fonction est utile lorsque l'on souhaite effectuer des calculs à virgule flottante tout en limitant la précision pour des raisons de compatibilité ou de performance. Par exemple, pour des calculs scientifiques ou financiers où une précision de 7 chiffres significatifs suffit.
- L'utilisation de CSNG garantit que le moteur de script va traiter le nombre selon la précision propre au type Single, évitant les arrondis ou conversions implicites que pourrait effectuer le moteur s'il opère avec des types Variant ou Double par défaut.
- Comme toute conversion, CSNG peut échouer si l'expression fournie n'est pas convertible en nombre. Par exemple, si l'expression est une chaîne de caractères non numérique, une erreur de type sera levée. Il est donc prudent de sécuriser l'entrée avec un contrôle préalable ou une gestion d'erreurs (On Error Resume Next).
- L'intérêt de CSNG est aussi de pouvoir forcer un type dans un langage peu typé comme VBScript. Cela peut éviter des incohérences lors de calculs ou d'export de données vers des systèmes externes attendant un type Single spécifique.
- En pratique, CSNG(3.14159) retournera une valeur approchée de π avec environ 7 chiffres significatifs. En revanche, pour des calculs demandant une très grande précision (comme certains calculs scientifiques ou financiers sensibles), il vaut mieux utiliser CDbl.
- Lorsque l'on convertit une chaîne comme "123.456" avec CSNG, elle est automatiquement analysée comme un nombre, puis ajustée à la précision simple. Cela permet une conversion implicite de formats texte numériques, ce qui est pratique pour des valeurs issues de formulaires HTML ou de fichiers texte.
- Le type Single peut représenter des valeurs entre -3.4E38 et +3.4E38 environ, avec un compromis sur la précision. Il est donc préférable d'utiliser CSNG uniquement lorsque vous êtes sûr que cette plage est suffisante pour vos besoins de traitement.
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
- <%
- Response.Write "CSng(1)=" & CSng(1) & "<br />"
- Response.Write "CSng(1.1)=" & CSng(1.1) & "<br />"
- Response.Write "CSng(1.7)=" & CSng(1.7) & "<br />"
- Response.Write "CSng(-1)=" & CSng(-1) & "<br />"
- Response.Write "CSng(-1.1)=" & CSng(-1.1) & "<br />"
- Response.Write "CSng(-1.7)=" & CSng(-1.7) & "<br />"
- Response.Write "CSng(30.2)=" & CSng(30.2) & "<br />"
- Response.Write "CSng(-35.4)=" & CSng(-35.4) & "<br />"
- Response.Write "CSng(-35.4)=" & CSng(-35.4) & "<br />"
- Response.Write "CSng(1.31E+15)=" & CSng(1.31E+15) & "<br />"
- %>
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
Voir également
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Vendredi, le 10 octobre 2014