wake-up-neo.net

Hinterlasse nur zwei Dezimalstellen

public void LoadAveragePingTime()
    {
        try
        {
            PingReply pingReply = pingClass.Send("logon.chronic-domination.com");
            double AveragePing = (pingReply.RoundtripTime / 1.75);

            label4.Text = (AveragePing.ToString() + "ms");                
        }
        catch (Exception)
        {
            label4.Text = "Server is currently offline.";
        }
    }

Derzeit hat mein label4.Text so etwas wie: "187.371698712637".

Ich brauche es, um etwas zu zeigen: "187.34"

Nur zwei Stellen nach dem DOT. Kann mir jemand helfen?

51
Sergio Tapia

string.Format ist dein Freund.

String.Format("{0:0.00}", 123.4567);      // "123.46"
116
Matt Grande

Wenn Sie nur zwei Zahlen nach dem Komma verwenden möchten, können Sie die Math-Klasse verwenden, die Ihnen beispielsweise die Rundenfunktion gibt:

float value = 92.197354542;
value = System.Math.Round(value,2);         // value = 92.20;

 

50
Anas
// just two decimal places
String.Format("{0:0.00}", 123.4567);      // "123.46"
String.Format("{0:0.00}", 123.4);         // "123.40"
String.Format("{0:0.00}", 123.0);         // "123.00"

http://www.csharp-examples.net/string-format-double/

edit

Keine Ahnung, warum sie "String" anstelle von "String" verwendet haben, aber der Rest ist korrekt.

30
Steven Sudit
double amount = 31.245678;
amount = Math.Floor(amount * 100) / 100;
4
Miru

Sie können dies verwenden

"String.Format (" {0: F2} ", String-Wert);"

    // give you only the two digit after Dot, excat two digit.
3
Himanshu Shukla

Verwenden der Eigenschaft von String

double value = 123.456789;
String.Format("{0:0.00}", value);

Hinweis: Dies kann nur zur Anzeige verwendet werden.

System.Math verwenden

double value = 123.456789;
System.Math.Round(value, 2);
1

Versuche dies:

double result = Math.Round(24.576938593,2);
MessageBox.Show(result.ToString());

Ausgabe: 24,57

1
user3077282

Alternativ können Sie auch den zusammengesetzten Operator F verwenden und dann angeben, wie viele Dezimalstellen Sie nach der Dezimalstelle anzeigen möchten.

string.Format("{0:F2}", 123.456789);     //123.46
string.Format("{0:F3}", 123.456789);     //123.457
string.Format("{0:F4}", 123.456789);     //123.4568

Es wird abrunden, also sei dir dessen bewusst.

Ich habe die allgemeine Dokumentation beschafft. Es gibt auch eine Menge anderer Formatierungsoperatoren, die Sie auschecken können.

Quelle: https://msdn.Microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx

1
Taylor Flatt

Einfache Lösung:

double totalCost = 123.45678;
totalCost = Convert.ToDouble(String.Format("{0:0.00}", totalCost));

//output: 123.45
1
Saif

Versuche dies

public static string PreciseDecimalValue(double Value, int DigitsAfterDecimal)
        {
            string PreciseDecimalFormat = "{0:0.0}";

            for (int count = 2; count <= DigitsAfterDecimal; count++)
            {
                PreciseDecimalFormat = PreciseDecimalFormat.Insert(PreciseDecimalFormat.LastIndexOf('}'), "0");
            }
            return String.Format(PreciseDecimalFormat, Value);
        }
1
Tanmay Nehete
yourValue.ToString("0.00") will work.
0
Sumit Joshi

double doublVal = 123.45678;

Es gibt zwei Möglichkeiten.

  1. zur Anzeige in String:

    String.Format("{0:0.00}", doublVal );
    
  2. für immer wieder Double

    doublVal = Convert.ToDouble(String.Format("{0:0.00}", doublVal ));
    
0
Ali Raza

Zeichenketteninterpolation verwenden decimalVar:0.00

0
emanuel