Formattazione numero da label in formato Euro mi arrotonda il valore p...

martedì 20 ottobre 2009 - 14.31

ravalon Profilo | Expert

Salve a tutti

Ho delle label in un sito web fatto con ASP.NET 2,0 cosi dichiarate

lblSpeseSpedizione.Text = String.Format("{0:N2}", valore)
lblSpeseSpedizione.Text = String.Format("{0:c}", lblSpeseSpedizione.Text)

in alcuni casi in cui il valore della spesa di spedizione sia 8,50 tanto per fare un esempio, esso me lo estrae come 8,00 portandomi via 50 centesimi

Il campo sul DB MySQL è dichiarato come decimal(4,2)

Come posso evitarlo ?

E' corretto questo mio uso della formattazione o c'è un errore o cose superflue ?

luxsor Profilo | Guru

Ciao Stefano,

utilizza sempre questa sintassi, ma converti prima il valore in decimal:
lblSpeseSpedizione.Text = String.Format("{0:c}", cdec(lblSpeseSpedizione.Text))

Fammi sapere


------------------------
Luxsor

Blacky Profilo | Newbie

Ciao,

VB.NET
lblSpeseSpedizione.Text= cdbl(lblSpeseSpedizione.Text).ToString("c")
C#
lblSpeseSpedizione.Text == ((double)lblSpeseSpedizione.Text).ToString("c")

Frà

ravalon Profilo | Expert

cioè dovrei fare cosi ?

lblSpeseSpedizione.Text = String.Format("{0:N2}", lblSpeseSpedizione.Text)
lblSpeseSpedizione.Text = String.Format("{0:c}", cdec(valore))


Il fatto che faccio due righe di conversione è utile ? Non ricordo perchè ho agito cosi ma sennò non funzionava solo che non lo capisco...

luxsor Profilo | Guru

Solo l'ultima riga devi inserire.


------------------------
Luxsor

ravalon Profilo | Expert

ok, funziona alla grande...grazie!
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