Maison > développement back-end > C++ > Comment puis-je déterminer de manière fiable le nombre de décimales dans une valeur décimale ?

Comment puis-je déterminer de manière fiable le nombre de décimales dans une valeur décimale ?

Patricia Arquette
Libérer: 2025-01-15 12:52:45
original
532 Les gens l'ont consulté

How Can I Reliably Determine the Number of Decimal Places in a Decimal Value?

Méthode de calcul des nombres décimaux qui n'est pas affectée par les paramètres culturels

Question :

Comment déterminer avec précision le nombre de décimales pour une valeur décimale sans être affecté par les paramètres régionaux ?

Réponse :

Comme indiqué dans la question, s'appuyer sur le fractionnement de chaînes pour extraire le nombre de décimales est sensible aux différents séparateurs décimaux locaux. Une approche plus fiable consiste à utiliser la méthode decimal.GetBits en combinaison avec des opérations sur les bits :

<code class="language-csharp">decimal argument = 123.456m;
int count = BitConverter.GetBytes(decimal.GetBits(argument)[3])[2];</code>
Copier après la connexion

Explication du code :

  1. decimal.GetBits : Cette méthode convertit une valeur décimale en un tableau de quatre entiers de 32 bits. Le troisième entier de ce tableau contient les informations d'échelle.
  2. BitConverter.GetBytes : Convertit un entier proportionnel en tableau d'octets.
  3. [2] : accède au troisième octet du tableau, qui indique l'échelle.
  4. count : Stocke le nombre de décimales sous forme d'entier.

Ainsi, cette méthode fournit des calculs précis de décimales pour toute valeur décimale, quelles que soient les différences culturelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal