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.";
}
}
Actuellement, mon label4.Text est quelque chose comme: "187.371698712637".
J'en ai besoin pour montrer quelque chose comme: "187.34"
Seulement deux postes après le DOT. Est-ce que quelqu'un peut m'aider?
string.Format
est votre ami.
String.Format("{0:0.00}", 123.4567); // "123.46"
Si vous voulez prendre juste deux chiffres après la virgule, vous pouvez utiliser la classe de mathématiques qui vous donne la fonction round, par exemple:
float value = 92.197354542;
value = System.Math.Round(value,2); // value = 92.20;
// 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/
modifier
Aucune idée pourquoi ils ont utilisé "String" au lieu de "string", mais le reste est correct.
double amount = 31.245678;
amount = Math.Floor(amount * 100) / 100;
Vous pouvez utiliser ceci
"String.Format (" {0: F2} ", valeur de chaîne);"
// give you only the two digit after Dot, excat two digit.
Utilisation de la propriété de String
double value = 123.456789;
String.Format("{0:0.00}", value);
Remarque: Ceci ne peut être utilisé que pour l'affichage.
Utiliser System.Math
double value = 123.456789;
System.Math.Round(value, 2);
Essaye ça:
double result = Math.Round(24.576938593,2);
MessageBox.Show(result.ToString());
Sortie: 24.57
Vous pouvez également utiliser l'opérateur composite F, en indiquant le nombre de points décimaux que vous souhaitez voir apparaître après la virgule.
string.Format("{0:F2}", 123.456789); //123.46
string.Format("{0:F3}", 123.456789); //123.457
string.Format("{0:F4}", 123.456789); //123.4568
Alors, sachez-le.
J'ai recherché la documentation générale. Il y a une tonne d'autres opérateurs de formatage là aussi que vous pouvez vérifier.
Source: https://msdn.Microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx
Solution simple:
double totalCost = 123.45678;
totalCost = Convert.ToDouble(String.Format("{0:0.00}", totalCost));
//output: 123.45
Essaye ça
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);
}
yourValue.ToString("0.00") will work.
double doublVal = 123.45678;
Il y a deux façons.
pour l'affichage en chaîne:
String.Format("{0:0.00}", doublVal );
pour revenir double
doublVal = Convert.ToDouble(String.Format("{0:0.00}", doublVal ));
Utiliser l'interpolation de chaîne decimalVar:0.00