2012-08-22 23 views
6

Tengo una cadena decimal (confirme que ser de la expresión decimal) 0,4351242134cadena Convertir a 2 lugar

Quiero convertir a una cadena con dos decimales 0,44

¿Cómo debo hacer en C# ?

+1

¿Cuál debe ser el resultado de 0,3? Debe ser "0.30" o "0.3"? –

Respuesta

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

En realidad, si el valor inicial es una cadena, necesita Double.Parse primero. –

+0

Especialmente necesita analizarlo si desea lograr el redondeo. – Zak

+0

lo siento, solía ver cadenas solo en notación de comillas. Mi culpa. –

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

Ver this para string.Format.

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

muchas gracias, funciona muy bien –

4

Bueno, yo haría:

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

¿Ayudaría esto

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