web-dev-qa-db-fra.com

Arrondis double en deux décimales en C #?

Je veux arrondir la valeur double à deux décimales près de c #, comment puis-je le faire?

double inputValue = 48.485;

après avoir rassemblé

inputValue = 48.49;

Related: c # - Comment arrondir une valeur décimale à 2 décimales (pour la sortie sur une page)

225
sanjeev40084

Cela marche:

inputValue = Math.Round(inputValue, 2);
418
Alex LE
Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
94
nandin

Tu devrais utiliser

inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)

Math.Round

Math.Round arrondit une valeur à virgule flottante double précision à un nombre spécifié de chiffres fractionnaires.

MidpointRounding

Spécifie comment les méthodes d'arrondi mathématiques doivent traiter un nombre situé à mi-chemin entre deux nombres.

Fondamentalement, la fonction ci-dessus prendra votre valeur d’entrée et l’arrondira à 2 (ou le nombre que vous spécifiez) de décimales. Avec MidpointRounding.AwayFromZero lorsqu'un nombre se situe à mi-chemin entre deux autres chiffres, il est arrondi au nombre le plus proche de zéro. Vous pouvez utiliser cette option pour arrondir au nombre pair le plus proche .

24
Gage

Un autre moyen simple consiste à utiliser ToString avec un paramètre. Exemple:

float d = 54.9700F;    
string s = d.ToString("N2");
Console.WriteLine(s);

Résultat:

54.97
18
Diwas

Utilisez Math.Round

value = Math.Round(48.485, 2);
18
recursive

vous pouvez en essayer un de dessous. Il y a plusieurs façons de le faire.

1. 
 value=Math.Round(123.4567, 2, MidpointRounding.AwayFromZero) //"123.46"
2.
 inputvalue=Math.Round(123.4567, 2)  //"123.46"
3. 
 String.Format("{0:0.00}", 123.4567);      // "123.46"
4. 
string.Format("{0:F2}", 123.456789);     //123.46
string.Format("{0:F3}", 123.456789);     //123.457
string.Format("{0:F4}", 123.456789);     //123.4568
8
reza.cse08