DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

PV

Aide / WLangage / Syntaxe WLangage / Types du WLangage
  • Affectation d'une variable de type numérique
  • Séparateur des milliers
  • Opérations réalisables avec un type numérique
  • Opération impliquant un type numérique
  • Limites
  • Comparaison type Monétaire / type numérique
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Le type numérique permet de contenir des nombres entiers ou décimaux en précisant si nécessaire :
  • le nombre de chiffres de la partie entière.
  • le nombre de chiffres de la partie entière et de la partie décimale.
Ce type de variable est conseillé pour des calculs réalisés sur des valeurs réelles nécessitant une précision garantie des décimales. Un numérique gère 38 chiffres significatifs (32 maximum pour la partie entière, 6 maximum pour la partie décimale). La précision est assurée sur 6 décimales.
Le type Numérique est un type nullable. Pour plus de détails, consultez Activation des types nullables.
Exemple
Compteur est un numérique
Compteur1 est un numérique (*)
Compteur2 est un numérique (5,7)
num1 est un numérique (2,15)
num2 est un numérique (2,15)
num1 = 0n10.000000000000033
num2 = 0n10.000000000000055
Info(num1+num2)
Syntaxe

Déclaration d'un type numérique (nombre de chiffres par défaut : 32 chiffres pour la partie entière et 6 chiffres pour la partie décimale) Masquer les détails

<Nom de la variable> est un numérique

<Nom de la variable 1>, <Nom de la variable 2> sont des numériques
<Nom de la variable> :
Nom de la variable à déclarer. Cette variable sera de type numérique avec 32 chiffres pour la partie entière et 6 chiffres pour la partie décimale.

Déclaration d'un type numérique (nombre de chiffres automatique) Masquer les détails

<Nom de la variable> est un numérique (*)

<Nom de la variable 1>, <Nom de la variable 2> sont des numériques (*)
<Nom de la variable> :
Nom de la variable à déclarer. (*) signifie que le format de la variable s'adapte automatiquement à la valeur contenue.

Déclaration d'un type numérique en précisant la partie entière Masquer les détails

<Nom de la variable> est un numérique (<Partie Entière>)

<Nom de la variable 1>, <Nom de la variable 2> sont des numériques (<Partie Entière>)
<Nom de la variable> :
Nom de la variable à déclarer.
<Partie entière> :
Nombre de chiffres de la partie entière. Au total, un numérique peut avoir 38 chiffres significatifs.

Déclaration d'un type numérique en précisant la partie entière et décimale Masquer les détails

<Nom de la variable> est un numérique (<Partie Entière>, <Partie Décimale>)

<Nom de la variable 1>, <Nom de la variable 2> sont des numériques (<Partie Entière>, <Partie Décimale>)
<Nom de la variable> :
Nom de la variable à déclarer.
<Partie entière> :
Nombre de chiffres de la partie entière. Au total, un numérique peut avoir 38 chiffres significatifs.
<Partie décimale> :
Nombre de chiffres de la partie décimale. Au total, un numérique peut avoir 38 chiffres significatifs.
Remarques

Affectation d'une variable de type numérique

Lors de l'affectation d'une variable de type numérique par une valeur (valeur directement saisie, fournie par une fonction, etc.), cette valeur est automatiquement convertie en réel par le compilateur.
Par exemple :
num1 est un numérique
num1 = 1234567890123456789123456789

Trace(num1) // num1 ne contient pas la bonne valeur
num2 est un numérique
num2 = 1234567890123456789.0
Trace(num2) // num2 ne contient pas la bonne valeur
Pour forcer l'affectation d'un type numérique, utilisez 0n devant la valeur. Par exemple :
num1 est un numérique
num1 = 0n1234567890123456789123456789
Trace(num1) // num1 contient la bonne valeur
num2 est un numérique
num2 = 0n1234567890123456789.0
Trace(num2) // num2 contient la bonne valeur

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 numérique
num1 = 123 456.478

num2 est un numérique
num2 = 0n 47 568 014.478

num3 est un numérique
num3 = 7_014.478

Opérations réalisables avec un type numérique

Les opérations suivantes peuvent être réalisées avec des variables de type numérique :
  • Opérations de comparaison : il est possible d'utiliser les opérateurs =, <>, <, <=, >, >=
  • Opérations arithmétiques : Ajout (+), négation (-), soustraction (-), multiplication (*), division (/), modulo.
  • Opérations combinées : ++, --,+=, -=

Opération impliquant un type numérique

Lors d'une opération impliquant une variable de type numérique, tous les calculs sont effectués au format des numériques manipulés.
En particulier, lors d'une opération entre un numérique et un réel, le réel est converti en numérique pour effectuer l'opération.

Limites

Un type numérique peut comporter 38 chiffres significatifs.
Les cas extrêmes "hauts" (par exemple (0,38) ou (1,37)) peuvent très vite conduire à des erreurs de calcul dues aux dépassements.
Les cas extrêmes "bas" (par exemple (38,0) ou (37,1)) peuvent très vite conduire à des erreurs de calcul dues aux pertes de décimales.
PHP Les nombres (réels, entiers, monétaires, numériques) ne peuvent pas dépasser 14 chiffres significatifs en PHP. S'ils dépassent cette limite, ils sont arrondis à 14 chiffres.

Comparaison type Monétaire / type numérique

Le type Monétaire est plus rapide pour les calculs ne demandant pas une précision supérieure à 24 chiffres significatifs (17 maximum pour la partie entière, 6 maximum pour la partie décimale).
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 19/09/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale