2012-08-22 20 views
6

ho una stringa (conferma di essere di espressione decimale) 0,4351242134Converti stringa da 2 decimali posto

voglio convertire in una stringa con due decimale 0.44

Come devo fare in C# ?

+1

quello che dovrebbe essere il risultato di 0,3? Dovrebbe essere "0,30" o "0,3"? –

risposta

7
var probablyDecimalString = "0.4351242134"; 
decimal value; 
if (Decimal.TryParse(probablyDecimalString , out value)) 
    Console.WriteLine (value.ToString("0.##")); 
else 
    Console.WriteLine ("not a Decimal"); 
+1

In realtà se il valore iniziale è una stringa, è necessario prima Double.Parse. –

+0

In particolare, è necessario analizzarlo se si desidera ottenere un arrotondamento. – Zak

+0

scusate, ero solito vedere le stringhe solo nella notazione delle virgolette. Colpa mia. –

2
float f = float.Parse("0.4351242134"); 
Console.WriteLine(string.Format("{0:0.00}", f)); 

Vedere this per string.Format.

4
var d = decimal.Parse("0.4351242134"); 
Console.WriteLine(decimal.Round(d, 2)); 
+0

grazie mille, funziona molto bene –

4

Beh io farei:

var d = "0.4351242134"; 
Console.WriteLine(decimal.Parse(d).ToString("N2")); 
1

Sarebbe questo aiuto

double ValBefore= 0.4351242134; 
double ValAfter= Math.Round(ValBefore, 2, MidpointRounding.AwayFromZero); //Rounds"up"