Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec le séparateur décimal

7 réponses
Avatar
GIQUES
Bonjour à tous,

Mon programme réagit différemment en fonction du séparateur décimale choisi
dans les options régionales.

S'il est définit en tant que "." les calculs se font correctement, si c'est
"," , les caculs sont faux.

Comment peut-on éviter ce problème ?

Merci de votre aide

Giques

7 réponses

Avatar
andre.araste
Bonjour

N'oubliez pas que Visual Basic est un produit résolument anglo-saxon.

A ma connaissance, seul le point est considéré comme un symbole numérique et
un montant affublé d'une virgule sera lu pour sa valeur entière. La fonction
IsNumeric retourne False.
--
Bonne réception.

http://perso.orange.fr/andre.araste/
Membre du Club Win's: http://www.clubwins.org
Avertissement: Je ne vends rien.
"GIQUES" a écrit dans le message de
news: 45687e88$0$6243$
Bonjour à tous,

Mon programme réagit différemment en fonction du séparateur décimale
choisi dans les options régionales.

S'il est définit en tant que "." les calculs se font correctement, si
c'est "," , les caculs sont faux.

Comment peut-on éviter ce problème ?

Merci de votre aide

Giques



Avatar
Fred
dans : news:45687e88$0$6243$,
GIQUES écrivait :

Bonjour à tous,



Bonjour,

Mon programme réagit différemment en fonction du séparateur décimale
choisi dans les options régionales.



As-tu utilisé CDbl (resp CSng) pour convertir tes représentations
numériques en variables Double (resp Single) ?
Il me semble que ces fonctions prennent en compte les options régionales
et linguistiques.

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
http://www.mailfusible.com/?3kA6ftaCvT
Avatar
Thierry
transformer la virgule en point après saisie et avant de le stocker dans un
double?


"GIQUES" a écrit dans le message de
news:45687e88$0$6243$
Bonjour à tous,

Mon programme réagit différemment en fonction du séparateur décimale


choisi
dans les options régionales.

S'il est définit en tant que "." les calculs se font correctement, si


c'est
"," , les caculs sont faux.

Comment peut-on éviter ce problème ?

Merci de votre aide

Giques




Avatar
GIQUES
Merci pour cet éclairage et cette rapidité

Giques


"GIQUES" a écrit dans le message de
news: 45687e88$0$6243$
Bonjour à tous,

Mon programme réagit différemment en fonction du séparateur décimale
choisi dans les options régionales.

S'il est définit en tant que "." les calculs se font correctement, si
c'est "," , les caculs sont faux.

Comment peut-on éviter ce problème ?

Merci de votre aide

Giques



Avatar
Guy DETIENNE
Salut ;O)

VB6 a de toute façon besoin du point comme séparateur décimal.

MsgBox (2,3 + 3,4) '-> Erreur
MsgBox (2.3 + 3.4) '-> Ok

En utlisant ceci tu peux connaître le séparateur décimal de ton système et
convertir alors avec le point (.) si nécessaire :

DecimalSymbol = Format(0, ".")
Msgbox DecimalSymbol

Guy





"GIQUES" a écrit dans le message de
news: 45687e88$0$6243$
Bonjour à tous,

Mon programme réagit différemment en fonction du séparateur décimale
choisi dans les options régionales.

S'il est définit en tant que "." les calculs se font correctement, si
c'est "," , les caculs sont faux.

Comment peut-on éviter ce problème ?

Merci de votre aide

Giques



Avatar
Jean-marc
Hello,

En complément de la réponse de Fred, voici toutes les
explications, disponibles dans la FAQ :

http://faq.vb.free.fr/index.php?questionV

A voir aussi, directement à la source :
http://msdn2.microsoft.com/en-us/library/ftekwwt0.aspx


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/



"GIQUES" a écrit dans le message de
news: 4568887b$0$19006$
Merci pour cet éclairage et cette rapidité

Giques


"GIQUES" a écrit dans le message de
news: 45687e88$0$6243$
Bonjour à tous,

Mon programme réagit différemment en fonction du séparateur décimale
choisi dans les options régionales.

S'il est définit en tant que "." les calculs se font correctement, si
c'est "," , les caculs sont faux.

Comment peut-on éviter ce problème ?

Merci de votre aide

Giques







Avatar
Fred
dans : news:4568ab0d$0$1131$,
Jean-marc écrivait :

Hello,



Hello Jean-Marc,

En complément de la réponse de Fred,



Merci de confirmer,

A voir aussi, directement à la source :
http://msdn2.microsoft.com/en-us/library/ftekwwt0.aspx



Il y a a toujours les références de VB6 dans la msdn :
http://msdn2.microsoft.com/en-us/library/ms950408.aspx
Je ne sais pas si on trouve cela en français.

(pour le cas où les fonctions auraient évolué, mais il n'y a pas de
différences pour CDbl)

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
http://www.mailfusible.com/?3kA6ftaCvT