|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
[VB.NET] Modificare il punto con la virgola
Ho un problema, sto valorando con dei valori e delle operazione
Se un utenti mi inserisci 1.23 invece di 1,23 il risultato cambia Come posso controllare la virgola ed il punto Volevo questo effetto, un utente inserisci un valore, su VALIDATE, mi controllava il punto, se era presente il punto me lo trasformava in virgola C'è un metodo un qualcosa per risolvere questo problema???? Ciao e grazieeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
La textbox lavora con il punto nell'estrazione della val. Se un utente inserisce la virgola e fai "val(textbox)" non hai il risultato giusto allora invece di "Val" devi usare "CSng" od anche "CDbl". io per esempio uso il punto perchè mi piace di +. io faccio così: Faccio inserire solo numeri e il punto oppure tramuto la virgola in punto a runtime e poi eseguo una val sulla text. Un'altra soluzione che adotto e controllare ciò che ha digitato: a=11,23 bx$="":for i=1 to len(textbox) if mid(textbox,i,1)="," then bx$=bx$+"." else bx$=mid(textbox,i,1) endif next i a=val(b$) 'a=11.23 ciao Edit: per il NET fai le dovute modifiche Ultima modifica di okay : 08-10-2007 alle 09:32. |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
Ok
Quote:
a=11,23 bx$="":for i=1 to len(textbox) if mid(textbox,i,1)="." then bx$=bx$+"," else bx$=mid(textbox,i,1) endif next i a=val(b$) 'a=11.23 Giusto?????
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
quello che è giusto è che capisci come fare algoritmi da solo. |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
In fase di validazione, ti basta fare un Replace sulla variabile di tuo interesse
Codice:
variabile = Replace(variabile, "," , ".")
__________________
Il sole è giallo |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2002
Città: Como
Messaggi: 708
|
Uhmm...ma non basta fare un Convert.toDouble() dopo aver forzato la localizzazione?
__________________
Cristian ![]() ![]() i5-2500 (Sandy Bridge) Quad-Core 3,30 Ghz - Asus P8Z68-V PRO / GEN3 - 2x4GB DDR3 - GeForce GTX 550 Ti Pci-E 4 Gb ddr3 - Barracuda 7200.12 1 Tb Sata 600 Buffer 32 Mb 7200 Rpm |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
Non va
Quote:
variabile = Replace(variabile, "," , ".") ho fatto me.valore.text = Replace(me.valore.text, "." , ",") Quando trova la virgola non fa niente, ed è giusto, quando trova il punto, invece di sostiturilo con la virgola me lo elimina proprio quindi da: 10.5 invece di scrivere: 10,5 scrive 105 Come posso correggere???? Ciao e grazieeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
ti va bene 1,0,5 ?? oppure cosa pensi di fare?? ciao |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:23.