Artem-Samsung |
21-05-2010 02:50 1417834 |
VB 6.0. Запутался с типами переменных. Не считает сотые
Код:
Dim k1sum As Double
k1sum = Val(k11.Text) + Val(k21.Text) + Val(k31.Text) + Val(k41.Text) + Val(k51.Text) // Считает верно
b11.Caption = Round(Val(k11.Text) / k1sum, 2) // Считает верно
b12.Caption = Round(Val(k12.Text) / k2sum, 2) // Считает верно
b13.Caption = Round(Val(k13.Text) / k3sum, 2) // Считает верно
b14.Caption = Round(Val(k14.Text) / k4sum, 2) // Считает верно
b15.Caption = Round(Val(k15.Text) / k5sum, 2) // Считает верно
n1.Caption = Val(b11.Caption) + Val(b12.Caption) + Val(b13.Caption) + Val(b14.Caption) + Val(b15.Caption) // Считает неверно. Выводит 0
Считало верно до тех пор, пока были целые числа, а именно в k11, k12...,
а вот b11.Caption - уже сотые меньше нуля, и в caption записывается через запятую типа: 0,01 возможно по этому не считает.
как сделать так, что бы записывало не через запятую, а через точку.
|
Artem-Samsung, это новый стиль программирования такой - в заголовок заносить значения?
Цитата:
Цитата Artem-Samsung
а вот b11.Caption - уже сотые меньше нуля, и в caption записывается через запятую типа: 0,01 »
|
Так может после преобразования строки и идут глюки? Может имеет смысл завести переменные нужного типа, а в заголовок(или куда надо) уже выводить результат?
|
Artem-Samsung |
21-05-2010 03:03 1417841 |
Код:
Dim a1 As Double
Dim a2 As Double
Dim a3 As Double
Dim a4 As Double
Dim a5 As Double
a1 = Round(Val(k11.Text) / k1sum, 2)
b11.Caption = a1
a2 = Round(Val(k12.Text) / k2sum, 2)
b12.Caption = a2
a3 = Round(Val(k13.Text) / k3sum, 2)
b13.Caption = a3
a4 = Round(Val(k14.Text) / k4sum, 2)
b14.Caption = a4
a5 = Round(Val(k15.Text) / k5sum, 2)
b15.Caption = a5
n1.Caption = (a1 + a2 + a3 + a4 + a5)
Таки да) Посчитало))
Спасибо.
|
Artem-Samsung, ну вот и чудненько :)
|
Время: 17:51.
© OSzone.net 2001-2025