[Résolu][Basic]Plus grande valeur négative pour une variable de type double

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

[Résolu][Basic]Plus grande valeur négative pour une variable de type double

Message par jeanmi2403 »

Bonjour,
Dans ce post concernant la programmation objet en mode compatible VBA, JPL publie le code suivant,

Code : Tout sélectionner

Private Sub Class_Terminate()
	_X = - 4.94065645841247E-324		'	Most negative value allowed for Double variables
	_Y = - 4.94065645841247E-324
end sub
qui produit une erreur.
GrandNombre.png
_X et _Y sont bien déclarées de Type Double.
J'ai trouvé la même valeur dans la documentation d'Andew Pitonyak
Peut-être y-a-t-il une erreur de syntaxe ?
Cordialement,
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jeanmi2403 le 15 sept. 2025 22:27, modifié 1 fois.
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12812
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: [Basic]Plus grande valeur négative pour une variable de type double

Message par Bidouille »

Bonjour,

Pour être aidé efficacement par les bénévoles et surtout leur faire gagner du temps, veuillez fournir les éléments suivants :
  1. insérer dans le corps du message le code total de la macro exposant le problème et non un extrait trop exhaustif
  2. joindre un document explicatif intégrant cette macro avec les données de départ (feuille1) et le résultat à obtenir (feuille2)
  3. fournir un mode pas-à-pas permettant de reproduire ce qui a été fait ou ce que vous cherchez à faire pour arriver au problème
  4. ajouter des copies écran (situation avant / après) si cela permet de mieux comprendre
  5. indiquer précisément la version utilisée lorsque vous indiquez plusieurs configurations dans votre signature
Merci de publier ces informations à la suite.
JPL
Membre lOOyal
Membre lOOyal
Messages : 39
Inscription : 17 mars 2012 10:16

Re: [Basic]Plus grande valeur négative pour une variable de type double

Message par JPL »

Bonjour,

j'ignore quand la valeur négative la plus proche de zéro a changé entre 2012 et aujourd'hui.
Quoi qu'il en soit, cela fonctionne en remplaçant l'exposant 324 par 308.

Ce qui reste très petit ...

JPL
Kubuntu 22.04 / LibO 25.2
Access2Base (LibO).
BaseDocumenter extension (LibO)
ScriptForge (LibO) - Documentation on https://help.libreoffice.org/latest/en- ... bPAR=BASIC
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: [Basic]Plus grande valeur négative pour une variable de type double

Message par jeanmi2403 »

Bonjour,
@JPL : Merci pour la réponse pertinente.
Suite à la remarque de Bidouille, l'erreur se produit sur LibreOffice (Windows et Linux), mais pas sur Openoffice.
La valeur a dû changer pour des raisons de cohérence, vu que l’exposant est le même que pour la plus grande valeur positive.
Donc en conclusion, voici les valeurs mini et maxi pour une variable double :
Pour LibreOffice :

Code : Tout sélectionner

	xNegatif = - 4.94065645841247E-308
	xPositif = 1.79769313486232E308
Pour OpenOffice

Code : Tout sélectionner

	xNegatif = - 4.94065645841247E-324
	xPositif = 1.79769313486232E308
L'erreur se produit à la compilation.
Cordialement,
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: [Basic]Plus grande valeur négative pour une variable de type double

Message par jeanmi2403 »

Re-bonjour,
Ayant posé ma question dans des termes qui me semblaient convenables, avec un titre explicite, et parfaitement compréhensible (ce que je continue à penser, vu que JPL m'a répondu rapidement), j'attendais gentiment.
Ma messagerie m'ayant averti qu'une réponse avait eu lieu, je me précipitai sur le forum.
Désillusion, la réponse ressemblait à la réponse automatique d'un robot dépourvu d'intelligence artificielle.
Si quelqu'un a pris le temps de rédiger cette réponse, en listant des manquements (réels ou supposés) aux bons usages, je vais donc passer un peu de temps moi aussi à les expliciter.
1.insérer dans le corps du message le code total de la macro exposant le problème et non un extrait trop exhaustif
Cela m'a semblé inutile, vu que l'erreur se produit sur une affectation d'une valeur constante à une variable, le reste du code a peu d'importance. De plus, je donnais le lien vers l'article de JPL (conformément aux usages ?) qui contenait, lui, le code total.
Au passage, selon le dictionnaire Robert, "Exhaustif : Qui traite complètement, épuise un sujet." me semble contraire au propos du rédacteur.
2. joindre un document explicatif intégrant cette macro avec les données de départ (feuille1) et le résultat à obtenir (feuille2)
Mêmes raisons que ci-dessus.
3. fournir un mode pas-à-pas permettant de reproduire ce qui a été fait ou ce que vous cherchez à faire pour arriver au problème
La seule instruction provoquant l'erreur avec un message parfaitement clair est visiblement indépendante du contexte.
4. ajouter des copies écran (situation avant / après) si cela permet de mieux comprendre
Il me semble que la copie d'écran et la position sur la ligne de code fautive suffisait à comprendre l'erreur.
5. indiquer précisément la version utilisée lorsque vous indiquez plusieurs configurations dans votre signature
Mea culpa sur ce point, d'autant que j' ai constaté plus tard que l'erreur ne se produisait pas sur OpenOffice. L'erreur provient uniquement du logiciel, pas du système, il fallait s'y attendre.
Merci de publier ces informations à la suite.
Inutile après la réponse de JPL, sauf pour le point 5
Merci de m'avoir lu.
Cordialement,
JM
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
cwolan
Membre hOOnoraire
Membre hOOnoraire
Messages : 167
Inscription : 14 févr. 2021 22:15

Re: [Résolu][Basic]Plus grande valeur négative pour une variable de type double

Message par cwolan »

Bonjour,
JPL a écrit : 03 sept. 2025 08:01 j'ignore quand la valeur négative la plus proche de zéro a changé entre 2012 et aujourd'hui.
Il semble que le compilateur ait cessé d'accepter une certaine plage de valeurs minimales positives et négatives depuis LibreOffice 4.1.0.

J'ai signalé un bogue : le rapport 168423 ("A double variable cannot be assigned the specified minimum value"). Le problème devrait être résolu dans la version 25.8.2.
OpenOffice 1.1.5 – 4.1.16
LibreOffice 3.3.0.4 – 26.2
Windows 7,10,11 64-bit