0 votes

J'ai besoin d'arrondir une valeur en vb.net

Je suis en train de développer un programme de calcul de la dette. Mon problème est que lorsque je dois calculer le nombre de mois pour rembourser la dette, il arrive à 28,04 et je dois l'amener à 29. Je vous remercie d'avance.

mon code ressemble à ceci :

    Dim b, SubMtP As Integer
    Dim outsUm, si

    outsUm = TextBox1.Text

    SubMtP = Format(Val(TextBox1.Text) / Val(TextBox2.Text), "0.00")
    Math.Round(SubMtP + 1)
    TextBox5.Text = Format(Val(TextBox4.Text) / 12, "0.00")

    For i As Integer = 1 To SubMtP

5voto

Pavel Minaev Points 60647

Utilice Math.Ceiling .

2voto

Konrad Rudolph Points 231505

Comme Pavel l'a dit dans le commentaire, vous devez assigner le résultat, et vous devez utiliser Ceiling :

Dim result As Double = Math.Ceiling(SubMtP)

Vous êtes également fortement encouragés à changer Option Strict On partout dans votre code pour activer la vérification stricte et statique des types. Il en résultera quelques erreurs de compilation dans votre code ci-dessus qui devront être nettoyées. Il s'agit de bon parce que ces fragments de code sont des erreurs potentielles dans votre code et le rendent difficile à maintenir et à comprendre.

1voto

Jason Points 125291

La ligne

Math.Round(SubMtP + 1)

ne fait rien (n'a pas d'effets secondaires) puisque vous n'assignez pas ou n'utilisez pas le résultat d'une autre manière.

Si vous essayez de passer de la version 28.04 à la version 29, vous voudrez probablement Math.Ceiling . Il est difficile de savoir ce que vous essayez de faire, mais vous voulez probablement

SubMtP = Math.Ceiling(SubMtP);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X