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
ASP.NET 2.0 / 3.5 / 4.0
Problema funzione
giovedì 05 marzo 2009 - 13.20
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
gio 5 mar 2009 - 13:20
Ciao a tutti, ho questo problema, partendo da una stringa
r["Valore"].ToString();
che potrebbe avere come separatore dei decimli "." oppure ","
vorrei creare una funzione che riceve in ingresso una stringa ed un numero
protected void ImpostaValore(Srtring Import, Int Decimali)
{
Trasforma la stringa togliendo il separatore decimali ed utilizzi per i decimali solo gli X caratteri indicati in Decimali
}
quindi passando
Import 100150,4 (oppure 100150.4)
Decimali 3
mi ritorna
100150400 (io saprò che 3 spazi sono per i decimali ed il resto è il valore intero)
in poche parole aggiunge gli zeri per arrivare allo spazio occupato per i decimali (in questo caso 3) oppure tronca il valore a 3 decimali, esempio:
passando
Import 100150,456678 (oppure 100150.456678)
Decimali 3
mi ritorna
100150457 (se possibile arrotondando)
Grazie mille per l'aiuto!!!!!
cenere
Profilo
| Senior Member
201
messaggi | Data Invio:
gio 5 mar 2009 - 20:57
usa un substring per splittare e poi usa un paddingRight sulla stringa che ottieni per aggiungere gli 0 alla stringa
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
gio 5 mar 2009 - 23:42
Scusa ma non saprei come applicare la tua soluzione :-((((
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 11 mar 2009 - 19:24
non so se ho capito bene tra l'altro neanche che tipo di dati deve restituire la tua funzione
.. forse qualcosa del genere potrebbe andarti bene
public static string ToImporto(object numero, int decimali)
{
string strnum = "0";
double num;
if (numero.GetType() == typeof(String))
{
strnum = ((string)numero).Repalce(",",".");
num = Convert.ToDouble(strnum);
}
else //in teoria tutti gli altri numerici.. ma altri casi dovrai gestirli ugualmente
{
num = Convert.ToDouble(numero);
}
num = num System.Math.Pow (10,decimali);
string pattern = "#,##0.";
for (int i = 0; i < decimali; i++)
{
pattern += "0";
}
string result = num.ToString(pattern);
return result.Replace(",","").Replace(".","");
}
Vincenzo
Programmatore sbilenco
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 !