J'ai la valeur décimale 18.8. Les valeurs qui sont stockées dans cette variable peuvent être de n'importe quel type. Par exemple, il peut être 1.0000000 ou 1.00004000 ou 5.00000008. Je voudrais écrire une méthode pour que je puisse lui passer une décimale et obtenir une chaîne arrondie. Ce ne serait pas un problème si je connaissais les décimales je voudrais obtenir. Mais ce que je voudrais obtenir est:Comment optimiser l'arrondi des décimales en C#
Quand c'est 1.0000000 il devrait retourner 1.
Si c'est 1.00004000 il devrait renvoyer 1.00004.
Quand il est 5.00000008 il devrait retourner 5.00000008. Donc, fondamentalement, il devrait trouver tous les 0 qui sont derrière le dernier chiffre différent puis 0 et le couper.
Comment devrais-je l'aborder? Quelle est la meilleure méthode? Je reçois cette valeur de SQL et la place dans la variable décimale, mais je voudrais l'afficher et avoir 5.0000000 quand il pourrait être affiché comme 5 est un peu exagéré pour moi.
J'espère que je pourrais avoir quelques bonnes suggestions.
En ce qui concerne,
MadBoy
Je ne connais pas le nombre de décimales dont j'ai besoin. Cela fonctionnerait si je savais que je veux le couper après 3 chiffres ou plus. Mais je veux le couper seulement si tous les chiffres sont des zéros après le dernier non zéro. – MadBoy
Si vous avez 1.00004000, alors après ToString ("0. ####################") vous aurez "1.00004". En parlant de MAX de # signes: il est 28. Décimal permet au maximum de 28-29 de chiffres significatifs. Cela fait 1 pour le premier zéro et 28 pour les autres signes. Même si vous avez acheté 15555.98900008900 ça ira. – terR0Q
Merci, cela fonctionne. J'aurais dû le tester avant de douter qu'il fonctionnera comme vous l'avez dit. – MadBoy