Quelle est la meilleure façon de renvoyer la partie entière d'un nombre décimal (en c#) ? (Cela doit fonctionner pour de très grands nombres qui peuvent ne pas tenir dans un int).
GetIntPart(343564564.4342) >> 343564564
GetIntPart(-323489.32) >> -323489
GetIntPart(324) >> 324
Le but de ceci est : J'insère un champ décimal (30,4) dans la base de données et je veux m'assurer que je n'essaie pas d'insérer un nombre trop long pour le champ. La détermination de la longueur de la partie entière du nombre décimal fait partie de cette opération.
0 votes
Vous ne pouvez pas obtenir la partie int ; vous pouvez obtenir la partie nombre entier et laisser tomber la partie fractionnaire. La partie entière d'un Decimal peut facilement déborder d'un int et soit jeter ou envelopper, tuant silencieusement votre code.
1 votes
C'est pourquoi cette question n'est pas aussi simple qu'elle le semble. J'ai besoin que cela fonctionne pour les très grands nombres de manière aussi fiable que pour les petits nombres. Cependant, "nombre entier" est plus précis que "int" - je vais reformuler la question ci-dessus.