Quelle est la syntaxe pour arrondir une décimale en laissant deux chiffres après la virgule?
Exemple: 2.566666 -> 2.57
Si vous souhaitez arrondir régulièrement, vous pouvez simplement utiliser la méthode Math.Round
. Si vous voulez spécifiquement arrondir à la hausse, vous utilisez la méthode Math.Ceiling
:
Dim d As Decimal = 2.566666
Dim r As Decimal = Math.Ceiling(d * 100D) / 100D
Voici comment je le fais:
Private Function RoundUp(value As Double, decimals As Integer) As Double
Return Math.Ceiling(value * (10 ^ decimals)) / (10 ^ decimals)
End Function
Math.Round est ce que vous recherchez. Si vous êtes novice en matière d'arrondi dans .NET, vous devez également rechercher la différence entre AwayFromZero et ToEven arrondi. Le défaut de ToEven peut parfois prendre les gens par surprise.
dim result = Math.Round(2.56666666, 2)
Vous pouvez utiliser System.Math
, plus précisément Math.Round()
, comme ceci:
Math.Round(2.566666, 2)
Math.Round()
, comme suggéré par d'autres, est probablement ce que vous voulez. Mais le texte de votre question demandait spécifiquement comment "arrondir" [sic]. Si vous avez toujours besoin d'arrondir, quelle que soit la valeur réelle (par exemple: 2,561111 irait quand même à 2,57), vous pouvez le faire:
Math.Ceiling(d * 100)/100D
J'ai utilisé de cette façon:
Math.Round(d + 0.49D, 2)
Math.Ceiling (d) est la fonction de base pour arrondir les chiffres, mais le demandeur a voulu arrondir les chiffres après la deuxième décimale. Ce serait Math.Ceiling (d * 100)/100. Par exemple, il peut multiplier 46,5671 par 100 pour obtenir 4656,71, puis arrondir pour obtenir 4657, puis diviser par 100 pour décaler la position décimale arrière de 46,57.