Мне нужно округлить значение в vb.net - PullRequest
0 голосов
/ 21 августа 2009

Я занимаюсь разработкой программы расчета долга. «Моя проблема в том, что когда мне нужно подсчитать месяцы для погашения долга до 28.04, а мне нужно до 29, может кто-нибудь мне поможет. Заранее спасибо

мой код выглядит так:

    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

Ответы [ 3 ]

5 голосов
/ 21 августа 2009

Использование Math.Ceiling.

2 голосов
/ 24 августа 2009

Как сказал Павел в комментарии, вам нужно присвоить результат, и вы должны использовать Ceiling:

Dim result As Double = Math.Ceiling(SubMtP)

Вам также настоятельно рекомендуется переключать Option Strict On везде в вашем коде, чтобы включить строгую статическую проверку типов. Это приведет к нескольким ошибкам компиляции в приведенном выше коде, которые необходимо будет очистить. Это хорошо , потому что эти фрагменты кода являются потенциальными ошибками в вашем коде и затрудняют их поддержку и понимание.

1 голос
/ 24 августа 2009

Линия

Math.Round(SubMtP + 1)

ничего не делает (не имеет побочных эффектов), так как вы не даете или иным образом не используете результат.

Если вы пытаетесь перейти с 28.04 на 29, то вам, вероятно, нужно Math.Ceiling. Трудно сказать, что вы пытаетесь сделать, но вы, вероятно, хотите

SubMtP = Math.Ceiling(SubMtP);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...