2012-08-22 24 views

Odpowiedz

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

Właściwie jeśli wartość początkowa jest łańcuchem, musisz najpierw wybrać Double.Parse. –

+0

Musisz szczególnie parsować, jeśli chcesz uzyskać zaokrąglenie. – Zak

+0

Przepraszam, widziałem ciągi tylko w notowaniu cytatu. Moja wina. –

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

Zobacz this dla string.Format.

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

wielkie dzięki, działa bardzo dobrze –

4

Dobrze byłoby zrobić:

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

pomogłoby to

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