cs_MYT
Messages postés1Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention20 novembre 2003 20 nov. 2003 à 16:53
De plus tu peut encore ameilliorer en faisant:
Function valeur(ByVal value As Object)
Dim str As String
'Determination du separateur...
Dim Sep as string
Sep=mid(cstr(1/2),2,1))
if Sep="." then
str = value.tostring.Replace(",", ".")
else
str = value.tostring.Replace(".", ",")
end if
Return (Val(str))
End Function
cs_Falk
Messages postés31Date d'inscriptiondimanche 16 mars 2003StatutMembreDernière intervention19 avril 2003 15 avril 2003 à 14:37
Juste un p'tit conseil il est possible de "surcharger l'instruction:
str = value.ToString.Replace(",", ".")
car en fait Replace est un argument de string ! ;) ca évite d'ecrire une autre ligne
cs_Tidus
Messages postés78Date d'inscriptiondimanche 21 avril 2002StatutMembreDernière intervention 7 juillet 2003 21 janv. 2003 à 23:19
Je me rends ici compte aussi que tu pourrais carrément introduire un nouveau type de données, stockant la valeur numérique, la valeur chaine, et éventuellement d'autres formats encore ... Genre une classe qui gèrerait ici la MAJ automatique de l'un en fonction d'un autre modifié ...
cs_Tidus
Messages postés78Date d'inscriptiondimanche 21 avril 2002StatutMembreDernière intervention 7 juillet 2003 21 janv. 2003 à 23:16
Oui, mais si tu entres directement un nombre au format internationnal (comprendre anglosaxon), CAD des points pour les virgules, quand tu fais val(txt) il te ressort effectivement ton Double, non ? En fait, la fonction ici présente permet de se conformer à la norme compatible, la conversion en soi ne représentant qu'une faible partie.
Il serait intéressant de voir alors si il n'y aurait pas moyen d'exploiter directement les paramètres régionnaux ...
20 nov. 2003 à 16:53
Function valeur(ByVal value As Object)
Dim str As String
'Determination du separateur...
Dim Sep as string
Sep=mid(cstr(1/2),2,1))
if Sep="." then
str = value.tostring.Replace(",", ".")
else
str = value.tostring.Replace(".", ",")
end if
Return (Val(str))
End Function
15 avril 2003 à 14:37
str = value.ToString.Replace(",", ".")
car en fait Replace est un argument de string ! ;) ca évite d'ecrire une autre ligne
21 janv. 2003 à 23:19
21 janv. 2003 à 23:16
Il serait intéressant de voir alors si il n'y aurait pas moyen d'exploiter directement les paramètres régionnaux ...