decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));
Je ne dois obtenir que deux décimales, mais en utilisant ce code, je reçois 1156,547. Laissez-moi savoir quel format je dois utiliser pour afficher deux décimales.
Si vous voulez arrondir la décimale, regardez Math.Round()
Votre question demande d'afficher deux décimales. L'utilisation du String.format suivant vous aidera:
String.Format("{0:.##}", Debitvalue)
cela affichera alors le nombre avec seulement deux décimales.
Si vous souhaitez que le symbole monétaire soit affiché, utilisez les éléments suivants:
String.Format("{0:C}", Debitvalue)
Utilisez Math.Round()
pour arrondir à deux décimales.
decimal DEBITAMT = Math.Round(1156.547m, 2);
j'utilise
decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:F2}", Debitvalue));
La meilleure approche si vous voulez TOUJOURS afficher deux décimales (même si votre nombre n’a qu’une décimale) est d’utiliser
yournumber.ToString("0.00");
voici une autre approche
decimal decimalRounded = Decimal.Parse(Debitvalue.ToString("0.00"));
Pour seulement afficher, la propriété de String
peut être utilisée comme suit.
double value = 123.456789;
String.Format("{0:0.00}", value);
En utilisant System.Math.Round
. Cette valeur peut être assignée à d’autres ou manipulée à volonté.
double value = 123.456789;
System.Math.Round(value, 2);
Autrement :
decimal.Round (decimalvalue, 2, MidpointRounding.AwayFromZero);
Une autre option consiste à utiliser la méthode Decimal.Round
Probablement une variante des autres exemples, mais j'utilise cette méthode pour m'assurer également qu'un point est affiché avant les décimales et non une virgule:
someValue.ToString("0.00", CultureInfo.InvariantCulture)