J'ai la valeur double
comme 12.256852651
et je veux l'afficher comme 12.257
comme un nombre flottant sans le convertir en un type chaîne.
Comment puis-je le faire en C #?
Je voudrais d'abord convertir en Decimal
puis utiliser Math.Round
sur le résultat. Cette conversion n'est pas strictement nécessaire, mais je me sens toujours un peu mal à l'aise si j'arrondis à la décimale lorsque j'utilise des virgules flottantes binaires.
Math.Round((Decimal)f, 3, MidpointRounding.AwayFromZero)
Vous devriez également examiner le choix de MidpointRounding
, car par défaut, cela utilise le tour de banquier, qui n'est pas ce à quoi vous êtes habitué depuis l'école.
Si vous voulez l'afficher, ce sera une chaîne et c'est ce que vous devez utiliser.
Si vous voulez arrondir pour pouvoir l'utiliser plus tard dans les calculs, utilisez Math.Round((decimal)myDouble, 3)
.
Si vous n'avez pas l'intention de l'utiliser dans le calcul mais devez afficher, utilisez double.ToString("F3")
.