86
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つだけです。誰かが私を助けることができますか?

4

13 に答える 13

178

string.Formatあなたの友だちです。

String.Format("{0:0.00}", 123.4567);      // "123.46"
于 2009-08-18T02:26:05.600 に答える
68

カンマの後に2つの数字だけを取りたい場合は、次のようにラウンド関数を提供する数学クラスを使用できます。

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


これが乾杯に役立つことを願っています

于 2013-04-30T15:55:05.900 に答える
36
// 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/

編集

なぜ「文字列」の代わりに「文字列」を使用したのかわかりませんが、残りは正しいです。

于 2009-08-18T02:26:49.657 に答える
10
yourValue.ToString("0.00") will work.
于 2018-03-16T12:51:52.047 に答える
8
double amount = 31.245678;
amount = Math.Floor(amount * 100) / 100;
于 2015-04-29T19:35:52.537 に答える
6

あなたはこれを使うことができます

"String.Format(" {0:F2} "、String Value);"

ドットの後の2桁、正確に2桁だけを表示します。

于 2015-07-14T17:12:52.400 に答える
4

これを試して:

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

出力:24.57

于 2017-01-13T10:27:57.903 に答える
2

または、複合演算子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/library/dwhawy9k(v = vs.110).aspx

于 2015-07-12T20:24:54.733 に答える
2

のプロパティを使用するString

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

注:これは表示にのみ使用できます。

使用するSystem.Math

double value = 123.456789;
System.Math.Round(value, 2);
于 2016-06-23T16:42:44.963 に答える
2

簡単な解決策:

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

//output: 123.45
于 2017-06-03T17:13:51.470 に答える
2

double doublVal = 123.45678;

2つの方法があります。

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

    String.Format("{0:0.00}", doublVal );
    
  2. 再び取得するためにダブル

    doublVal = Convert.ToDouble(String.Format("{0:0.00}", doublVal ));
    
于 2019-05-16T12:00:00.703 に答える
1

これを試して

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);
        }
于 2015-12-03T09:58:59.343 に答える
1

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

于 2017-01-05T17:55:22.817 に答える