Il y a 46 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Problème point/virgule

 
n°49638
virus2013
@}oo{=======>
Posté le 05-10-2006 à 14:16:32  profilanswer
 

Hello !
 
Voilà, je ne suis pas un grand programmateur mais je m'efforce de faire ce que je peux pour alléger les tâches de mes collègues au boulot. Mon soucis est le suivant :
 
J'ai écris un petit programme en Visual Basic .Net qui, lorsqu'on lui donne des mesures et une épaisseur, calcule le poids d'une tôle, et si on ajoute le prix au Kg, il donne le prix total. Jusque là, tout va bien :D
Le problème est que le prix/Kg et l'épaisseur sont des chiffres à décimales. Tout le monde est tenté de mettre un point à la place de la virgule et lorsqu'on le fait, les valeurs retournées sont éronnées... Comment faire pour qu'il considère ou remplace le point par une virgule automatiquement avant de faire son calcul ?
 
D'avance merci !


---------------
L'informatique, c'est comme les femmes. On adore, mais on ne comprend jamais vraiment !
n°49640
Twan
Posté le 05-10-2006 à 14:19:43  profilanswer
 

ben tu fais un .tostring, tu fais un parcours et tu le remplace par une virgule et apres tu le converti en reel. Mais je pense qu'il y a un moyen meilleur de faire ca !

n°49643
virus2013
@}oo{=======>
Posté le 05-10-2006 à 14:30:35  profilanswer
 

Non c'est pas con... D'autant que j'utilise des textbox et j'envoi la valeur .text directement dans une variable Double. Il planterais surement si on y plaçait autre chose qu'un nombre mais m'en fou, ils sont quand même pas aussi con ici... ;) Je vais explorer déjà cette solution car j'ai compris mais alors pour mettre en pratique...


---------------
L'informatique, c'est comme les femmes. On adore, mais on ne comprend jamais vraiment !
n°49646
Twan
Posté le 05-10-2006 à 14:39:50  profilanswer
 

bah je me rapelle plus de tete, mais c'est encore plus simple apres le .tostring, t'as une fonction pour modifier un ou une chaine de charactere par une autre. Recherche de ce coté la, ca t'evitera de faire un parcours !

n°49647
LostSoul
Manieur de hache
Posté le 05-10-2006 à 14:56:34  profilanswer
 

virus2013 a écrit :

Non c'est pas con... D'autant que j'utilise des textbox et j'envoi la valeur .text directement dans une variable Double. Il planterais surement si on y plaçait autre chose qu'un nombre mais m'en fou, ils sont quand même pas aussi con ici... ;) Je vais explorer déjà cette solution car j'ai compris mais alors pour mettre en pratique...


 
Ne jamais présumer sur l'étendue de la stupidité d'un utilisateur ...
 
Pourquoi tu n'utilises pas un MaskedTextBox ?


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49648
virus2013
@}oo{=======>
Posté le 05-10-2006 à 15:00:32  profilanswer
 

Houla, j'ai précisé que j'étais pas très doué (j'aurais peut-être du dire newbie... :P)
 
Edit : Ha ouais je vois le genre, avec un format prédéfini affiché quoi ?


Message édité par virus2013 le 05-10-2006 à 15:01:08

---------------
L'informatique, c'est comme les femmes. On adore, mais on ne comprend jamais vraiment !
n°49649
LostSoul
Manieur de hache
Posté le 05-10-2006 à 15:01:57  profilanswer
 

Wep c'est un textbox avec un masque de saisie donc si tu mets 9999.99 ils savent entrer que qqch au format numérique et le . décimal est positionné par le contrôle :D Du coup t'es sauvé.


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49650
Twan
Posté le 05-10-2006 à 15:03:44  profilanswer
 

bonne idée, j'y avais meme pas pensé !

n°49651
LostSoul
Manieur de hache
Posté le 05-10-2006 à 15:06:01  profilanswer
 

<- Expérience Inside  :whistle:


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49652
virus2013
@}oo{=======>
Posté le 05-10-2006 à 15:13:17  profilanswer
 

Okay ! Thanks les gars, vous êtes précieux. Je vais tester ça ! ;)


Message édité par virus2013 le 05-10-2006 à 16:00:17

---------------
L'informatique, c'est comme les femmes. On adore, mais on ne comprend jamais vraiment !
n°49657
virus2013
@}oo{=======>
Posté le 05-10-2006 à 16:00:33  profilanswer
 

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
 
    If e.KeyChar = "." Then e.KeyChar = CType(",", Char)
 
End Sub
 
Ca pourrait dépanner, ça n'empêche toujours pas de taper du texte mais ça remplace bien les points par des virgules...


---------------
L'informatique, c'est comme les femmes. On adore, mais on ne comprend jamais vraiment !
n°49658
LostSoul
Manieur de hache
Posté le 05-10-2006 à 16:04:44  profilanswer
 

mouais ... j'vois déjà l'utilisateur moi "mais bordel ca fait 10 minutes que j'essaye de taper 10,2 et ce c** de programme me fout un . à la place de ma , ..." (ne jamais sous estimer la stupidité de l'utilisateur)


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49659
Twan
Posté le 05-10-2006 à 16:06:57  profilanswer
 
n°49660
LostSoul
Manieur de hache
Posté le 05-10-2006 à 16:10:35  profilanswer
 


 
plus lent ...


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49662
Twan
Posté le 05-10-2006 à 16:30:55  profilanswer
 

arf j'avais pas regardé ce qu'il aait mis, j'ai crus qu'il avait fait une fonction qui parcourait sa chaine pour remplacer les , par des . !

n°49663
LostSoul
Manieur de hache
Posté le 05-10-2006 à 16:33:10  profilanswer
 

Non non il intercepte le keypress et il substitue le . à la , au moment de la frappe. Perso je trouve pas ca propre mais c'est certainement mieux que le Replace.


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49664
Twan
Posté le 05-10-2006 à 16:40:06  profilanswer
 

Certe, c'est sur ! Mais les utilisateurs vont prendre peur quand les , vont se transformer ! Bah je pense pas que l'appli qu'il developpe soit super complexe, comme il en parle, alors pour eviter les erreurs vaut peut etre mieux que le controle se fasse derriere plutot qu'au fur et a mesure.

n°49665
LostSoul
Manieur de hache
Posté le 05-10-2006 à 16:42:34  profilanswer
 

Note que son astuce n'empèchera pas un imbécile de taper deux points par exemple :D exemple si c'est un banquier habitué à foutre des . pour les milliers et des , pour les décimales, il va taper 237.531,27 et ca va faire 237.531.27 -> erreur de conversion !


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49666
Twan
Posté le 05-10-2006 à 16:44:34  profilanswer
 

bah de toute maniere il sera obligé de mettre un controle derriere, alors autant tout faire derriere, et mettre un message d'erreur et une re saisie en cas d'erreur !
Edit : Mais ca existe des controles pour verifier que c'est un chiffre dans le textbox. J'en avais mis pour controler que c'etait bien une adresse mail, et en cas de mauvaise saisie, ca me mettait un message d'erreur rouge qui empechait d'aller plus loin dans l'application !


Message édité par Twan le 05-10-2006 à 16:46:01
n°49667
LostSoul
Manieur de hache
Posté le 05-10-2006 à 16:45:39  profilanswer
 

si il met un MaskedTextBox il fera tout en une seule opération :D
et l'avantage c'est que si un jour y'a un changement de format de données, sufit de refaire un nouveau masque, pas besoin de courir dans le code pour aller changer les règles de validation


Message édité par LostSoul le 05-10-2006 à 16:46:14

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°49668
Twan
Posté le 05-10-2006 à 16:47:16  profilanswer
 

ya pas des truc du style controletovalidate qui'il pourrai utiliser ?

n°49670
Ashe
reenignE esreveR
Posté le 05-10-2006 à 17:18:41  profilanswer
 

Tu peux convertir la chaine en tenant compte de la locale, du coup si la personne a son Windows (ou ses parametres regionaux) en francais ca marchera avec une virgule, si c'est en anglais avec un point :spamafote:


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°49671
Ashe
reenignE esreveR
Posté le 05-10-2006 à 17:19:11  profilanswer
 

Sinon
http://www.knowdotnet.com/articles [...] boxes.html
http://www.codeproject.com/cs/misc [...] extBox.asp
http://www.codeproject.com/userite [...] extBox.asp
http://msdn2.microsoft.com/en-us/library/ms229644.aspx
Etc etc etc


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°49675
virus2013
@}oo{=======>
Posté le 05-10-2006 à 19:55:08  profilanswer
 

Merci pour tout, je vais un peu regarder tout ça !


---------------
L'informatique, c'est comme les femmes. On adore, mais on ne comprend jamais vraiment !

Aller à :
Ajouter une réponse