Округление числа

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

Округление числа

Сообщение ForVarD » 08.05.2009 (Пт) 18:22

Я создал программу по подсчёту кол-ву прожитых дней, месяц и лет, но возникла проблема с округлением... Для отображения целого числа я использовал тип данных integer, так вот если ты прожил допустим 18 лет и 7 месяцев он округляет до 19, как можно этого избежать подскажите пожлста.

Duxoвник
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 16
Зарегистрирован: 06.01.2009 (Вт) 18:48

Re: Округление числа

Сообщение Duxoвник » 08.05.2009 (Пт) 18:45

Вот здесь, кое-что по теме:
http://www.vbstreets.ru/VB/Articles/66479.aspx
Время стирает ошибку и отшлифовывает истину.

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

Re: Округление числа

Сообщение alibek » 08.05.2009 (Пт) 18:55

DateDiff
Lasciate ogni speranza, voi ch'entrate.

ForVarD
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 08.05.2009 (Пт) 18:17

Re: Округление числа

Сообщение ForVarD » 08.05.2009 (Пт) 20:55

Спасибо вам за ответы, но DateDiff мне кажется это не совсем то что нужно...

Вот для наглядности сама програмка:
Код: Выделить всё
Option Explicit
Dim dtmdate1 As Date
Dim dtmdate2 As Date
Dim dtmdays As Long
Dim dtmmesc As Long
Dim dtmlets As Long

Private Sub cmdcompute_Click()
dtmdate1 = CDate(txtdate1.Text)
dtmdate2 = CDate(txtsk.Text)
dtmdays = dtmdate1 - dtmdate2
dtmmesc = dtmdays / 12
dtmlets = dtmdays / 365
txtresult.Text = dtmdays
txtmes.Text = dtmmesc
txtlet.Text = dtmlets
End Sub


Проблема лишь в том что мне нужно убрать все знаки после запятой или чтобы он просто не округлял, тоесть если у меня выводиться значение 18,7314 лет отображалось только 18...

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

Re: Округление числа

Сообщение alibek » 08.05.2009 (Пт) 20:59

Для подсчета интервалов между датами (лет, месяцев, часов) лучше как-раз использовать DateDiff, а не самодельное округление.
В DateDiff учитываются все особенности календарей и часовых поясов.
Lasciate ogni speranza, voi ch'entrate.

ForVarD
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 08.05.2009 (Пт) 18:17

Re: Округление числа

Сообщение ForVarD » 09.05.2009 (Сб) 16:06

Спасибо всем большое за помощь... Решил данную проблему функцией Fix().


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

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

Сейчас этот форум просматривают: AhrefsBot, Bing-бот, Google-бот и гости: 48

    TopList