Variables numériques
- Présentation d'un programme Apache OpenOffice Basic
- Utilisation des variables
- Variables de chaîne de caractères
- Variables numériques
- Variables booléennes
- Variables de date et d'heure
- Matrices
- Portée et durée de vie des variables
- Constantes
- Opérateurs
- Instructions conditionnelles
- Boucles
- Procédures et fonctions
- Traitement des erreurs
Apache OpenOffice Basic prend en charge cinq types de base pour traiter les nombres :
- entier ;
- entier long ;
- simple ;
- double ;
- monétaire.
Variables de type entier
Les variables de type entier (Integer) peuvent stocker tout nombre entier compris entre - 32 768 et 32 767. Un nombre entier peut occuper jusqu'à deux octets de mémoire. Le signe % permet de déclarer une variable de type entier. Les calculs utilisant des variables entières sont très rapides et particulièrement utiles pour les compteurs de boucles. Si vous assignez un nombre à virgule flottante à une variable de type entier, il est arrondi au nombre entier le plus proche.
Exemples de déclaration pour des variables entières :
Dim Variable As Integer
Dim Variable%
Variables de type entier long
Les variables de type entier long (Long) peuvent stocker tout nombre entier compris entre – 2 147 483 648 et 2 147 483 647 et peuvent occuper jusqu'à quatre octets de mémoire. Le signe & permet de déclarer une variable de type entier long. Les calculs utilisant des variables de type entier long sont très rapides et particulièrement utiles pour les compteurs de boucles. Si vous assignez un nombre à virgule flottante à une variable de type entier long, il est arrondi au nombre entier le plus proche.
Exemples de déclaration pour des variables de type entier long :
Dim Variable as Long
Dim Variable&
Variables de type simple
Les variables de type simple (Single) peuvent stocker tout nombre à virgule flottante positif ou négatif compris entre 3.402823 x 1038 et 1.401298 x 10-45. Une variable de type simple peut occuper jusqu'à quatre octets de mémoire. Le symbole ! permet de déclarer une variable de type simple.
À l'origine, les variables de type simple servaient à réduire le temps de calcul exigé par les variables doubles, plus précises. Cependant, ces considérations de rapidité ne sont plus vraiment pertinentes, ce qui réduit l'intérêt des variables de type simple.
Exemples de déclaration pour des variables simples :
Dim Variable as Single
Dim Variable!
Variables de type double
Les variables de type double (Double) peuvent stocker tout nombre à virgule flottante positif ou négatif compris entre 1.79769313486232 x 10308 et 4.94065645841247 x 10-324. Une variable de type double peut occuper jusqu'à huit octets de mémoire. Les variables doubles peuvent être utilisées pour des calculs précis. Le signe # permet de déclarer une variable de type double.
Exemples de déclarations de variables doubles :
Dim Variable As Double
Dim Variable#
Variables monétaires
Les variables monétaires (Currency) diffèrent des autres types de variables par la manière dont elles gèrent les valeurs. Le signe décimal est fixe et suivi de quatre décimales. La variable peut compter jusqu'à 15 chiffres devant le signe décimal. Une variable monétaire peut stocker toute valeur comprise entre - 922 337 203 685 477.5808 et +922 337 203 685 477.5807 et peut occuper jusqu'à huit octets de mémoire. Le signe @ permet de déclarer une variable monétaire.
Les variables monétaires sont surtout destinées aux calculs financiers qui génèrent des erreurs d'arrondi imprévisibles dues à l'emploi de nombres à virgule flottante.
Exemples de déclaration de variables monétaires :
Dim Variable As Currency
Dim Variable@
Flottants
Les variables de type simple et de type double et les variables monétaires sont souvent appelées flottants ou nombres à virgule flottante. En effet, elles peuvent contenir des valeurs numériques à fractions décimales de diverses longueurs. Les séparateurs de décimale semblent donc pouvoir "flotter" entre les chiffres.
Il est possible de déclarer des variables en indiquant qu'elle sont de type flottant. Le type réel de la variable (simple, long ou monétaire) est déterminé lorsqu'une valeur lui est assignée :
Dim A As Float
A = 1210.126
Spécification de nombres explicites
Les nombres peuvent être représentés de différentes manières, par exemple au format décimal ou en notation scientifique, voire dans une base différente du système décimal. Les règles suivantes s'appliquent aux caractères numériques dans Apache OpenOffice Basic :
Nombres entiers
La méthode la plus simple consiste à utiliser des nombres entiers. Ils sont représentés dans le texte source, sans espace pour séparer le chiffre des milliers :
Dim A As Integer
Dim B As Float
A = 1210
B = 2438
Les nombres peuvent être précédés d'un signe plus (+) ou moins (-) (avec ou sans espace après le signe) :
Dim A As Integer
Dim B As Float
A = + 121
B = - 243
Nombres décimaux
Lorsque vous saisissez un nombre décimal, séparez la partie entière de la partie décimale à l'aide d'un point (.). Ainsi, les textes sources peuvent être transférés d'un pays à un autre sans conversion.
Dim A As Integer
Dim B As Integer
Dim C As Float
A = 1223.53 ' is rounded
B = - 23446.46 ' is rounded
C = + 3532.76323
Vous pouvez utiliser les signes "+" et "-" comme préfixes aux nombres décimaux (ici aussi, avec ou sans espace).
Si vous assignez un nombre décimal à une variable entière, Apache OpenOffice Basic l'arrondit par excès ou par défaut.
Notation exponentielle
Apache OpenOffice Basic permet d'écrire les nombres en notation exponentielle. Vous pouvez par exemple écrire 1.5e-10 pour représenter le nombre 1.5 x 10-10 (0.00000000015). La lettre "e" peut être majuscule ou minuscule et précédée ou non d'un signe plus (+).
Des exemples corrects et incorrects de nombres au format exponentiel sont répertoriés ci-dessous :
Dim A As Double
A = 1.43E2 ' Correct
A = + 1.43E2 ' Correct (space between plus and basic number)
A = - 1.43E2 ' Correct (space between minus and basic number)
A = 1.43E-2 ' Correct (negative exponent)
A = 1.43E -2 ' Incorrect (spaces not permitted within the number)
A = 1,43E-2 ' Incorrect (commas not permitted as decimal points)
A = 1.43E2.2 ' Incorrect (exponent must be a whole number)
Notez que les premier et troisième exemples incorrects ne génèrent aucun message d'erreur, bien qu'ils retournent des valeurs incorrectes. L'expression :
A = 1.43E -2
est interprétée comme 1.43 moins 2, soit -0.57. C'est pourtant la valeur 1.43 x 10-2 (correspondant à 0.0143) qui était attendue. Avec la valeur :
A = 1.43E2.2
Apache OpenOffice Basic ignore la partie de l'exposant après le point et considère l'expression comme étant :
A = 1.43E2
Valeurs hexadécimales
Dans le système hexadécimal (base 16), un nombre à deux chiffres correspond exactement à un octet. Ceci permet de gérer les nombres d'une manière reflétant plus fidèlement l'architecture de la machine. Dans le système hexadécimal, les nombres sont représentés au moyen des chiffres de 0 à 9 et des lettres de A à F. La lettre A correspond au nombre 10 en décimal et la lettre F au nombre 15. Pour utiliser des valeurs hexadécimales pour les nombres entiers dans Apache OpenOffice Basic , il suffit de les faire précéder par &H.
Dim A As Long
A = &HFF ' Hexadecimal value FF, corresponds to the decimal value 255
A = &H10 ' Hexadecimal value 10, corresponds to the decimal value 16
Valeurs octales
Apache OpenOffice Basic comprend également le système octal (base 8), qui utilise les chiffres 0 à 7. Dans cette base, les valeurs doivent être précédées de &O.
Dim A As Long
A = &O77 ' Octal value 77, corresponds to the decimal value 63
A = &O10 ' Octal value 10, corresponds to the decimal value 8
Content on this page is licensed under the Public Documentation License (PDL). |