点后面只留下两位小数

时间:2009-08-18 02:24:46

标签: c# ping decimal-point

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之后只有两个帖子。有人可以帮助我吗?

12 个答案:

答案 0 :(得分:123)

string.Format是你的朋友。

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

答案 1 :(得分:53)

如果你想在逗号之后只取两个数字,你可以使用给你圆函数的数学类,例如:

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

希望这个帮助
干杯

答案 2 :(得分:29)

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

修改

不知道为什么他们使用“String”而不是“string”,但其余的都是正确的。

答案 3 :(得分:4)

您可以使用此

  

“String.Format(”{0:F2}“,String Value);”

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

答案 4 :(得分:1)

或者,您也可以使用复合运算符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

答案 5 :(得分: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);
        }

答案 6 :(得分:1)

使用String

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

注意:这可以仅用于显示。

使用System.Math

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

答案 7 :(得分:1)

试试这个:

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

输出:24.57

答案 8 :(得分:1)

简单的解决方案:

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

//output: 123.45

答案 9 :(得分:1)

yourValue.ToString("0.00") will work.

答案 10 :(得分:0)

使用字符串插值decimalVar:0.00

答案 11 :(得分:0)

double doublVal = 123.45678;

有两种方法。

  1. 以字符串形式显示:

    String.Format("{0:0.00}", doublVal );
    
  2. 再次获得Double

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