Funzione Format

sabato 20 gennaio 2007 - 12.31

psycho85 Profilo | Newbie

Il problema è questo:

Con VB6 mi funziona benissimo, ho necessita che il contenuto di una text box sia formattato per le valute...

Esempio:

2500,1526785 NO

2500,15 SI

Questo in VB6 avviene cosi:

txtRisultato.Text = Format(txtRisultato.Text, "#.#0")

HA SEMPRE FUNZIONATO

In VB.Net 2005 questo non funziona più...Come Mai? Mi sembra assurdo...

freeteo Profilo | Guru

ciao,
ti do questo link, dove si mostrano vari "pattern" per formattare le stringhe:
http://blog.stevex.net/index.php/string-formatting-in-csharp/

ma in che senso non funziona, hai usato string.Format( , o il ToString( del numero?
dovrebbe andare in tutti e 2 i casi, cmq eventualmente posta un po' di codice...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

psycho85 Profilo | Newbie

Ora dò un'occhiata al link che mi hai postato e grazie mille in anticipo...ti posto il code che mi permette di convertire da EURO A LIRA usando due combo box, una text box per l'importo da convertire e una per il risultato...l'errore e questo: nessuna conversione, la text box del risultato mostra "0,#0" sempre e comunque...anche se lo stesso code lo usavo in vb6 e funziona alla grande...


If cmbValuta1.Text = "Euro" And cmbValuta2.Text = "Lira" Then
varRisultato = txtImporto.Text * 1936.27
txtRisultato.Text = varRisultato
txtRisultato.Text = Format(txtRisultato.Text, "0,#0")
End If

Giamp72 Profilo | Junior Member

prova a sostituire la virgola col punto....

variabile=1234.78978

format(variabile,"0.#0")

da correttamente

"1234,79"

quindi, forse il tuo problema è che dal codice postato, tu passi a format una stringa che contiene la virgola e non il punto per la separazione dei decimali..
magari usa replace per sostituire l'eventuale virgola col punto prima della formattazione..


ciao
Giamp72

psycho85 Profilo | Newbie

"OK"
Ora funziona tutto ecco il code giusto:

If cmbValuta1.Text = "Euro" And cmbValuta2.Text = "Lira" Then
varRisultato = txtImporto.Text * 1936.27
txtRisultato.Text = Format(varRisultato, "0.#0")
txtRisultato.Text = varRisultato
End If

Grazie RAGA sarei impazzito a breve

freeteo Profilo | Guru

ciao,
se hai risolto, accetta una risposta cosi' chiudiamo il thread.

Grazie.
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5