Je veux recevoir le nombre après le point décimal sous la forme d'un nombre entier. Par exemple, seulement 05 à partir de 1,05 ou de 2,50 seulement 50 pas 0.50
Réponses
Trop de publicités?Solution sans problème d'arrondi :
double number = 10.20;
var first2DecimalPlaces = (int)(((decimal)number % 1) * 100);
Console.Write("{0:00}", first2DecimalPlaces);
Sorties : 20
Notez que si nous ne convertissons pas en décimal, le résultat serait le suivant
19
.
Aussi :
- pour
318.40
sorties :40
(au lieu de39
) - pour
47.612345
sorties :61
(au lieu de612345
) - pour
3.01
sorties :01
(au lieu de1
)
Si vous travaillez avec des chiffres financiers, par exemple, si dans ce cas vous essayez d'obtenir la cents d'une partie du montant d'une transaction, utilisez toujours le
decimal
type de données.
Mise à jour :
La méthode suivante fonctionnera également si vous la traitez comme une chaîne de caractères (en vous basant sur la réponse de @SearchForKnowledge).
10.2d.ToString("0.00", CultureInfo.InvariantCulture).Split('.')[1]
Vous pouvez alors utiliser Int32.Parse
pour le convertir en int.
- Réponses précédentes
- Plus de réponses