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
Arrotondamenti su decimali e formattazione stringhe
lunedì 21 luglio 2008 - 21.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
attilio
Profilo
| Junior Member
115
messaggi | Data Invio:
lun 21 lug 2008 - 21:03
Ciao a tutti
Mi trovo davanti ad un problema di questo tipo:
Gestisco una serie di cifre decimal che sono soggette a sconti (sconti percentuali)
vengono quindi a trovarsi cifre del tipo ES:26,435 che opportunamente modificato in .ToString(F2) mi da come
risultato 26,44
L'arrotondamento avviene senza che io imposti nessuna specifica.
Ho provato impostando valori tipo: #,##0.00 come formattazione di stringa ma non cambia nulla.
Il problema è che non posso tenere il valore a tre cifre dopo la virgola e mi si creano degli scompensi non
indifferenti nei calcoli.
Come posso fare
Spero possiate aiutarmi.
mark81
Profilo
| Newbie
8
messaggi | Data Invio:
lun 21 lug 2008 - 23:16
Ciao, potresti postare il codice?
attilio
Profilo
| Junior Member
115
messaggi | Data Invio:
mar 22 lug 2008 - 07:35
totSconto = totale * percentualeSconto / 100;
decimal tot = totale - totSconto;
txtTotale.Text = tot.ToString("F2");
dove totale potrtebbe essere 6,15 e percentuale sconto 10
nel txtTotale.Text mi trovo un valore di 5,54 quando invece sarebbe giusto 5,53 perchè il valore intero è 5,535
mark81
Profilo
| Newbie
8
messaggi | Data Invio:
mar 22 lug 2008 - 09:56
Quello che fa il codice è giusto, perchè fa un arrotondamento alla seconda cifra decimale (a 5 lo fa per eccesso). Se tu vuoi troncare l'importo, ti conviene passare il valore ad una variabile string e troncarlo da la. Spero di essere stato chiaro. Ciao
attilio
Profilo
| Junior Member
115
messaggi | Data Invio:
mar 22 lug 2008 - 14:03
In che modo mi consigli di troncare la stringa senza essere soggetto ad arrotondamenti?
mark81
Profilo
| Newbie
8
messaggi | Data Invio:
mar 22 lug 2008 - 14:07
textbox1.text = mid(variabile,1,variabile.lenght-1)
Fammi sapere se funziona, io uso Vb.net, ma a quanto ho capito tu usi c#.net.
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 !