Considérez le code C#:Arrondir un nombre en utilisant des règles non standard
Decimal number = new decimal(8.0549);
Decimal rounded = Math.Round(number, 2);
Console.WriteLine("rounded value: {0}", rounded);
produira la sortie: 8,05
de Algoritm de Math.Round ne vérifie que le chiffre suivant au-delà du nombre de décimales pris comme paramètre.
J'ai besoin d'un algorithme qui vérifie toute la chaîne décimale. Dans ce cas, 9 Devrais-tours 4 à 5 qui à son tour tours de 5 à 6, produisant le résultat final 8,06
Plus exemples:
8,0545 -> 8,06
8,0544 -> 8,05
Il y a un certain construit -In méthode qui peut m'aider?
Merci.
I cul Etes-vous conscient que l'arrondi que vous proposez n'est pas mathématiquement correct? C'est à dire. 8.0545 est plus proche de 8.05 que de 8.06, arrondir à 8.06 n'est donc pas correct. –
Juste curieux (puisque ce que vous cherchez n'est pas arrondi) .... pourquoi? ;) –
Oui, je suis conscient que ce n'est pas mathématiquement correct. C'est parce que je l'ai appelé "non standard". Mais ça continue à être arrondi, non? :) Je ne suis pas d'accord avec cette règle aussi. Mais est-ce que les ordres supérieurs .. –