Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 1|Répondre: 0

[Pourboires] .NET/C# utilise le MidpointRounding de Math.Round pour l’arrondi

[Copié le lien]
Publié surIl y a 46 secondes | | | |
Exigences : Souvent utilisées pour l’arrondi et peu sensibles aux exigences de précision.

Pour obtenir un arrondi de deux décimales, le développeur a écrit le code suivant,
Le code est très simple, développeursLe résultat réel était de 12,12, ce qui contredisait le résultat d’arrondi attendu de 12,13

La raison de ce résultat est que Math.Round n’utilise pas par défaut la règle d’arrondi, mais fait des tours pour rendre l’équilibre.

Arrondir à cinq pour former une paire

L’arrondi dit de six à cinq pour former une paire signifie qu’après avoir déterminé les chiffres significatifs, si le chiffre significatif suivant est inférieur ou égal à 4, il est arrondi à la baisse ; s’il est supérieur ou égal à 6, arrondi à la hausse de un. Lorsque le chiffre significatif suivant est 5,

  • Si le nombre avant 5 est impair, arrondir cinq vers le haut et avancer de un
  • Si 5 est avant un nombre pair, on saute 5 (0 est pair).

Statistiquement, arrondir à pair est plus précis que arrondir cinq, car lorsqu’il y a beaucoup de calculs, arrondir tous les cinq à un peut donner un nombre plus élevé.

Par exemple:

1,15+1,25+1,35+1,45 = 5,2

Si les chiffres significatifs sont d’une décimale, le résultat est obtenu en utilisant le principe d’arrondi

1.2 + 1.3 + 1.4 + 1.5 = 5.4

Le résultat obtenu en arrondi à cinq pairs est

1.2 + 1.2 + 1.4 + 1.4 = 5.2

Cela montre que la règle d’arrondi donne des résultats plus précis.

Math.Round

Alors, comment utilisez-vous Math.Round pour obtenir l’arrondi attendu ?

En fait, Math.Round en C# fournit de nombreuses méthodes de surcharge, dont deux méthodes :
Les deux méthodes fournissent un troisième paramètre appelé mode, qui est une variable d’énumération du MidpointRounding avec deux valeurs sélectionnables

  • AwayFromZero - arrondissement vers le haut
  • ToEven - arrondir à arrondir par

Donc, si nous voulons un résultat idéal arrondi, nous pouvons utiliser le code suivant :
Énumération par arrondissement du milieu du temps, comme montré ci-dessous :



Référence:La connexion hyperlientérée est visible.




Précédent:Optimisation WITH (NOLOCK) pour les requêtes EF Core à haute concurrence
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com