Problema funzione

giovedì 05 marzo 2009 - 13.20

squilibrio Profilo | Expert

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

usa un substring per splittare e poi usa un paddingRight sulla stringa che ottieni per aggiungere gli 0 alla stringa

squilibrio Profilo | Expert

Scusa ma non saprei come applicare la tua soluzione :-((((

ysdemarc Profilo | Expert

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
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