Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problemi con valori double e stringhe
martedì 19 aprile 2005 - 15.33
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
SuperSasch2004
Profilo
| Newbie
28
messaggi | Data Invio:
mar 19 apr 2005 - 15:33
Ho un piccolo problema con la formattazione delle stringhe ...
Vi spiego prendo l'importo di una fattura da un campo text di nome TbImporto
Dim totaleFat As Double
totaleFat = Val(TbImporto.Text)
già qui ho un primo problema ... perchè noi italiani usiamo la virgola (,) come separatore dei centesimi (tipo 3,00) mentre val come separatore usa il punto (.) (tipo 3.00)
perciò risolvo questo piccolo problema con
totaleFat = Val(Replace(TbImporto.Text, ",", "."))
bene ora ho la mia variabile di tipo double dove posso fare tutti i miei bellissimi calcolini ... tipo
totaleFat = ( totaleFat * 0,2 ) + totaleFat
poi devo stampare questa stringa ... e qui mi servo della cara funzione ToString che accetta anche come parametro come formattare il dato di tipo double ...
perciò faccio
TbTotaleFattura.Text = totaleFat.tostring("0.00")
e perciò se ho un numero 123.567 me lo restituisce come una stringa 123.56
ma qui riscappa fuori il solito problema ... ovvero nou usiamo la virgola e non il punto, perciò
TbTotaleFattura.Text = Replace(totaleFat.tostring("0.00"),".",",")
ed ecco che scappa fuori il mio caro bel numerino ...
tante volte mica conoscete un scorciatoia ?? e poi vi volevo chiedere come fare a mettere, quando formatto la stringa, oltre al separatore dei centesimi anche quello delle migliaia...
vi ringrazio anticipamente ...
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 20 apr 2005 - 14:42
Dovrebbe essere più facile del previsto.
Il Framework dovrebbe appoggiarsi se non sbaglio alle impostazioni del sistema operativo. Tu per caso hai impostati i criteri americani ?
In ogni caso se nel form load scrivi:
Thread.CurrentThread.CurrentCulture=new CultureInfo("it-IT");
Ciò dovrebbe cambiare la cultura corrente del Thread dell'applicazione e quindi tutto ciò che esce dopo questa istruzione dovrebbe essere in formato italiano.
Tutto ciò funziona dopo aver referenziato il namespace System.Globalization
Facci sapere se risolvi.
ciao
david
martinmystero
Profilo
| Newbie
22
messaggi | Data Invio:
gio 21 apr 2005 - 08:33
Puoi + semplicemente usare il metodo shared Format della classe String ...
esempio:
totaleFat = String.Format("{0:N}", totaleFat)
se controlli il suddetto metodo trovi sicuramente quello che + soddisfa i tuoi bisogni e puoi anche personalizzare eventuale visualizzazione .
Ciauz
;)
martinmystero
Profilo
| Newbie
22
messaggi | Data Invio:
sab 23 apr 2005 - 08:59
... dimenticavo l'ultimo passaggio,
totaleFat = String.Format("{0:N}", totaleFat)
'.. le tue elaborazioni di somma
e poi per passarlo in stringa mantenendo la virgola usi
TotaleFattura.string=Decimal.parse(TotaleFat)
ciao
Torna su
Stanze Forum
Elenco Threads
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 !