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
C# / VB.NET - Il punto
Forum - C# / VB.NET - Il punto

Avatar
simoz (Normal User)
Rookie


Messaggi: 21
Iscritto: 10/03/2011

Segnala al moderatore
Postato alle 19:49
Lunedì, 11/04/2011
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 il 11/04/2011 alle 19:49
PM
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 23:26
Lunedì, 11/04/2011
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:
Codice sorgente - presumibilmente VB.NET

  1. Dim stringa As String = "17.500"
  2. Dim volte As Integer = stringa.Lenght \ 3
  3. Dim sottostringa As String
  4. For i = 1To volte
  5. sottostringa = stringa.Substring(stringa.Lenght - (3 * i) , 3)
  6. 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...

ok funziona grazie :) - simoz - 12/04/11 14:58
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 14:13
Martedì, 12/04/2011
String.Format è la soluzione più semplice ed immediata. Non se lo ricorda mai nessuno.

PM
Avatar
Lafa_96 (Normal User)
Pro


Messaggi: 111
Iscritto: 09/03/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 20:16
Lunedì, 11/04/2011
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!

ok grazie di aver risp lo stesso...aspetto altre risposte :) - simoz - 11/04/11 21:14
PM