質問

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.";
    }
}

現在、私の label4.Text の取得は次のようになります。「187.371698712637」。

次のようなものを表示するにはそれが必要です:「187.37」

DOT の後の投稿は 2 つだけです。誰か助けてくれませんか?

役に立ちましたか?

解決

string.Formatはあなたの友達です。

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

他のヒント

あなたはコンマの後、単に2つの数値を取りたい場合は、Mathクラスを使用することができますたとえば、あなたにラウンド機能を与えること:

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

・ホープ、このヘルプ
乾杯

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

<のhref = "http://www.csharp-examples.net/string-format-double/" のrel = "noreferrer" タイトル= "http://www.csharp-examples.net/string-format -double / "> http://www.csharp-examples.net/string-format-double/ の

の編集

いいえアイデアは、彼らが代わりに「文字列」の「文字列」を使用しない理由が、残りは正しいです。

double amount = 31.245678;
amount = Math.Floor(amount * 100) / 100;

これを使えます

"String.Format("{0:F2}", 文字列値);"

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

また、あなたはまた、あなたが小数点の後に表示したいどのように多くの小数点以下のスポットを示し、その後、複合演算子Fを使用することができます。

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

それはそれを意識するように切り上げます。

私は、一般的なドキュメントを調達しました。そこに他の書式演算子のトンは、同様にあなたがチェックアウトすることがあります。

ソース: https://msdn.microsoft .COM / EN-US /ライブラリ/ dwhawy9k(V = vs.110).aspxの

このお試しください。

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);
        }

Stringのプロパティを使用して

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

注:これはのみ表示するために使用することができます。

System.Mathを使用して

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

これを試してください:

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

出力:24.57

簡単な解決策ます:

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

//output: 123.45
yourValue.ToString("0.00") will work.

を使用する文字列の補間decimalVar:0.00

double doublVal = 123.45678;

方法は 2 つあります。

  1. 文字列で表示する場合:

    String.Format("{0:0.00}", doublVal );
    
  2. 再びダブルを手に入れるために

    doublVal = Convert.ToDouble(String.Format("{0:0.00}", doublVal ));
    
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top