Round excel
Автор Alton задал вопрос в разделе Другие языки и технологии
Округление с помощью "Round" в Microsoft Visual Basic 6 и получил лучший ответ
Ответ от Axel[гуру]
Этот код работает, так как в VB есть такая вещь, как неявное преобразование типов.
"Вот так", конечно, правильно, но на процессе работы программы не скажется ни грамма. Не говоря уже о результате, который в вопросе просили.. .
А в чём проблема с округлением? Всё же написано.
Изначально надо поменять типы только с integer на single или double.
А строку Text3 = s заменить на Text3 = (s, 3) где вместо тройки любое число поставить, сколько надо знаков после запятой.
Можно на самом деле вообще никаких переменных не заводить и весь код сократить до такого:
Private Sub Command1_Click()
Text3 = Round(Text1 * Text2, 3)
End Sub
Это так же будет нормально работать.
И что этот код работает? Текстовым переменным присваиваются числовые и наоборот? Начни с того, что используй преобразование переменных.
Правильно вот так:
Private Sub Command1_Click()
Dim a As Integer, b As Integer, s As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
s = a * b
Text3.Text = Str(s)
End Sub
в VB не так работает
задаешь переменную типа double, например s
s = math.round(/выражение/, /кол-во знаков после запятой/)