- Type de réels
- Notes
- Valeur par défaut
- Codage binaire des réels
- Séparateur des milliers
- Problèmes de précision avec les réels
- Spécificités PHP
- Différences avec WINDEV/WEBDEV 5.5
Le WLangage propose deux types de réels : | | | Réel sur 8 octets Un réel peut avoir jusqu'à 15 chiffres significatifs. La précision des décimales n'est pas assurée. Pour effectuer des calculs précis, utilisez le type "Monétaire". Valeur d'un réel :- Valeur minimale : 1.7*10-308
- Valeur maximale : 1.7*10+308
| | Réel sur 4 octets Un réel sur 4 octets peut avoir jusqu'à 6 chiffres significatifs. La précision des décimales n'est pas assurée. Pour effectuer des calculs précis, utilisez le type "Monétaire". Valeur d'un réel sur 4 octets :- Valeur minimale : 3.4*10-38
- Valeur maximale : 3.4*10+38
|
Valeur par défaut Une variable de type "Réel" déclarée et non initialisée est égale à 0. Codage binaire des réels Les réels ont tous le même nombre de chiffres significatifs (15). Si le résultat d'un calcul sur des réels met en jeu plus de 15 chiffres significatifs, ce résultat sera automatiquement arrondi à 15 chiffres significatifs. Pour obtenir une précision plus importante, utilisez le type Monétaire ou Numérique. Séparateur des milliers Il est possible d'utiliser le caractère 'Espace' ou le caractère '_' comme séparateur de milliers dans les nombres. Par exemple :
num1 est un réel num1 = 123 456.478 num2 est un réel num2 = 7_014.478
Problèmes de précision avec les réels Les opérations avec le type "réel" ne sont pas précises du fait de la représentation informatique des réels. Deux réels qui sont égaux au sens mathématique ne le sont pas forcément en informatique et les opérateurs ">", "<" ou "=" peuvent renvoyer des résultats "faux" au sens mathématique. Pour pallier une partie de ces problèmes : - l'opérateur "=" est précis à 10e-6 près sur les réels. Ainsi pour deux réels relativement proches, les opérateurs "=" et ">" (ou bien "=" et "<") peuvent renvoyer Vrai pour les mêmes valeurs.
- la conversion des réels en chaîne utilise un algorithme complexe. C'est pourquoi, généralement, l'affichage par la trace est correct.
Pour éviter tous ces problèmes, il faut utiliser le type Monétaire ou Numérique qui utilise une représentation mémoire exacte.
Documentation également disponible pour…
|
|
|
|