Formato della stringa di input non corretto

martedì 27 gennaio 2009 - 23.15

sanfra Profilo | Junior Member

Salve, mi sta uscendo questo errore, nonostante li stia provando tutte(o quasi tutte...)!

Ho un campo nel db di nome prezzo con tipo=money.

devo prendere questo valore e assegnarlo ad una label text e fin qui tutto bene

visto che gli metto in questa label la dicitura Eval("prezzo",{"0:c"});

e il risultato è per esempio € 13,00;

quando vado a riprednere questo valore e cioè:

decimal p=String.Format("{0:c}",prezzo.Text.ToString());

mi fa l'errore postato nel titolo.

Creadetemi ne ho provato altri, ho addirittura pensato che fossero le Opzioni Internazionali poste nel pannello di Controllo di Windows e quindi le ho modifcate ma nulla.

Mi aiutate a capire?

Grazie

paoval72 Profilo | Senior Member

Ciao, a quanto vedo il problema sta nella conversione:

decimal p=String.Format("{0:c}",prezzo.Text.ToString());

p è un decimale e si aspetta un decimal. Quindi va convertito:
decimal p=Convert.ToDecimal(String.Format("{0:c}",prezzo.Text));
o "parsato":
decimal p=decimal.Parse(String.Format("{0:c}",prezzo.Text));
non serve il ToString() finale, visto che la proprietà Text restituisce già uno string

Buona giornata,
PV

sanfra Profilo | Junior Member

Ti ringrazio per l'aiuto ho risolto aggiungendo l'enumrativo NumberStyles.Currency al parse.


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