Умножение времени

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
rooty
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 30.07.2008 (Ср) 14:11

Умножение времени

Сообщение rooty » 30.07.2008 (Ср) 14:20

Здравствуйте! Может, я считать не умею, а программа считает лучше?..
Есть вот такой код:

Код: Выделить всё

timeSt = Time
'пара циклов
timeFin = Time

timesec = timeFin - timeSt
alltimesec = timesec * 350000


Переменная timesec получается равной 1,154234.. при умножении на 350000, alltimesec становится равной 4,... хотя если даже 1.15*350000 получается 402500.
А прога пишет, что 4 и несколько цифр после запятой..

Alprog
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 127
Зарегистрирован: 15.05.2008 (Чт) 14:21
Откуда: Владивосток

Сообщение Alprog » 30.07.2008 (Ср) 14:30

Только что запустил

Код: Выделить всё
timesec = 1.154234
alltimesec = timesec * 350000
MsgBox alltimesec


Результат: 403981.9

Давай весь код, может у тебя типы данных какие-нибудь странные или значение изменяется где-то ещё.

Да, кстати, чем заканчивается цепочка "1,154234.."? Там случайно ни E в какой-нибудь степени?

rooty
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 30.07.2008 (Ср) 14:11

Сообщение rooty » 30.07.2008 (Ср) 14:36

Да, Е там есть.. :oops:

В другом случае :
timesec = 4,62962962962665Е-05
и заканчивается всегда на ... Е-05

И что бы это значило?.. :( Просто, логически должна получиться разница во времени, т.е. время выполнения циклов.. А получается что-то другое..
Значение больше нигде не меняется, это точно. Сами циклы тоже значения не имеют..

Нужно время в секундах на каждое прохождение цикла.. Я думал, что если от времени начала отнять время окончания - как раз и получится то, что нужно.
Умножение на 350000 - это уже следующий этап. Он выполняется не верно, т.к. "моя" разница во времени - все же не разница, получается..

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.07.2008 (Ср) 14:42

В записи Е-05 минус означает порядок десятичной дроби. То есть 4,6…Е-05 = 0,000046…
Лучший способ понять что-то самому — объяснить это другому.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.07.2008 (Ср) 14:43

Если тебе нужно время в секундах, то получай значение Timer, а не Time.
Судя по всему, объяснять про тип данных Date тебе рано.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 31

    TopList