Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - punto oppure virgola??? problema sui decimali
Forum - Visual Basic 6 - punto oppure virgola??? problema sui decimali

Avatar
peppino84 (Normal User)
Rookie


Messaggi: 27
Iscritto: 11/09/2010

Segnala al moderatore
Postato alle 2:55
Sabato, 05/02/2011
scusate ho un dubbio ....

in un form ho 2 textbox ed un command

in uno inserisco un numero  "10.5"
nel secondo ho il risultato "10.5^2"

il risultato è "1010025" errato !!! (è il risultato di 105^2) in pratica non ha letto il punto di separazione decimale

se invece uso la virgola inserendo "10,5" mi da "10100,25" corretto!!!

è un problema di codifica ascii ??? ....
come procedo??
tra l'altro ho visto che dipende dal computer su cui uso l'eseguibile evidentemente hanno diversa codifica ascii ??? ...
questo problema è di certo banale ... ma sono agli inizi e non vorrei giungere ad errate conclusioni sfogliando codici incomprensibili e manuali vaghi ...
per favore aiutatemi ...
grazie cari ... bye

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 14:55
Sabato, 05/02/2011
è semplice.

Il separatore decimale può essere '.' oppure ',' a seconda della impostazioni locali del pc sul quale viene eseguito il programma. Se il tuo separatore decimale(nelle impostazioni di windows, dove si cambiano le impostazioni della tastiera) è la virgola, scrivendo il punto questo viene inteso come separatore delle migliaia.

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 2:01
Domenica, 06/02/2011
... che detto in parole povere: se vuoi usare il punto decimale devi impostare la lingua americana, con la lingua italiana invece devi usare la virgola.

PM Quote
Avatar
peppino84 (Normal User)
Rookie


Messaggi: 27
Iscritto: 11/09/2010

Segnala al moderatore
Postato alle 2:17
Domenica, 06/02/2011
... grazie cari ... ora mi è chiaro ... ma la vera questione è:

se do il mio piccolo eseguibile a qualcuno che usa il punto invece della virgola gli usciranno valori sballati ... e potrebbe pensare che il codice non sia corretto ... tra l'altro se si usano i punti per valori con parecchi decimali le equazioni schizzano ricacciando valori astronomici che fanno imballare tutto ...

... vorrei evitare di mettere in bella vista un messaggio in cui scrivo "state attenti ... se non funziona coi punti usate le virgole!"
vorrei fare in modo che nel codice ci sia un controllo che riconosce le impostazioni del computer su cui si sta usando l'eseguibile e se viene usato il separatore sbagliato faccio uscire un messaggio del tipo "errore separatore decimale"
è possibile?? se non è possibile devo solo trovare un qualche algoritmo numerico da applicare ad ogni dato in imput... mmmm ... è un bel problema ...
... ciao cari ...

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 10:12
Domenica, 06/02/2011
la soluzione più veloce che mi viene in mente è di controllare ogni valore inserito dall'utente. Se preme la ',' fai una cosa, se trovi il '.' ne fai un'altra.

La soluzione più lunga, ma anche la più elegante, sarebbe di controllare che separatore viene usato dal sistema e di agire di conseguenza.

PM Quote