Oppure

Loading
11/04/11 17:49
simoz
Salve community...:):):):):)
vi pongo una sciocchezza di problema per voi ma non per me :_doubt:
Allora io ho una stringa (prezzo.text="17.500" <---diciasettemilacinquecento)
quando a qusta aggiungo un'altra stringa contenente un numero,usando ctype(),il punticino mi scompare...:d:d:d...come posso fare affinchè rimanga anche quando aggiungo o tolgo numeri dalla stringa prezzo.text??????????????

help me pliz

Ultima modifica effettuata da simoz 11/04/11 17:49
aaa
11/04/11 18:16
Lafa_96
bè perchè nella notazione di visual basic il "." equivale a una virgola, quindi se converti una stringa in integer automaticamente il compilatore elimina qualsiasi carattere diverso da un numero, quindi per risolvere devi, nel controllo di destinazione della stringa, "splittare" il testo ogni 3 caratteri (ovviamente partendo da destra) e aggiungere un punto! per splittare il testo partendo da destra basta fare una ricerca più o meno avanzata, io purtroppo non so come splittare partendo da destra, quindi su questo frangente non so come aiutarti!
aaa
11/04/11 21:26
walker93
per prendere i primi tre caratteri e i successivi partendo da destra ci sono 2 modi:
-Metodo "Spartano"
Usa la funzione 'Right' (funzione originaria di vb6) passando come parametri l'inizio e la lunghezza
-Metodo ad "oggetti"
Usa la funzione variabilestringa.Substring(variabilestringa.Lenght - 3, 3) per i primi tre caratteri variabilestringa.Substring(variabilestringa.Lenght - 6, 3) per i secondi 3 caratteri ecc..
Puoi anche usare un ciclo per evitare problemi riguardanti la lunghezza:
Dim stringa As String = "17.500"
Dim volte As Integer = stringa.Lenght \ 3 
Dim sottostringa As String
For i = 1To volte
sottostringa = stringa.Substring(stringa.Lenght - (3 * i) , 3)
Next


P.S.
non ho controllato la correttezza del codice perchè era tardi, però sappi che eventuali errori sono solo marginali e di conseguenza puoi risolveri da solo in poco tempo...
aaa
12/04/11 12:13
Il Totem
String.Format è la soluzione più semplice ed immediata. Non se lo ricorda mai nessuno.
aaa