Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.05.2013, 19:15
Аватар для RusMaXXX
RusMaXXX RusMaXXX вне форума
Начинающий
 
Регистрация: 01.10.2008
Сообщения: 138
Версия Delphi: 7
Репутация: 21
По умолчанию функция Trunc и дата

всем привет...

имеется:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  DateNow: TDateTime;
begin
  DateNow := StrToDate('08.05.2013'); 
  ShowMessage(IntToStr(Trunc(DateNow)));
end;

в результате, в сообщение выдается число 41402

вопрос, как трунс его подсчитал??? вопрос хотя странный, но с заморочкой))
__________________
уволен в запас!!!
Ответить с цитированием
  #2  
Старый 08.05.2013, 20:10
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да ничего она и не подсчитывала, просто обрезала всё что после запятой, TDateTime это фактически типа Double, а функция Trunc возвращает только целочисленную часть числа.
Ответить с цитированием
  #3  
Старый 08.05.2013, 20:37
Аватар для RusMaXXX
RusMaXXX RusMaXXX вне форума
Начинающий
 
Регистрация: 01.10.2008
Сообщения: 138
Версия Delphi: 7
Репутация: 21
По умолчанию

Цитата:
Сообщение от Alegun
Да ничего она и не подсчитывала, просто обрезала всё что после запятой, TDateTime это фактически типа Double, а функция Trunc возвращает только целочисленную часть числа.

ну тогда так, трунс обрезал часть числа... а что за число, откуда и как оно берется???
__________________
уволен в запас!!!
Ответить с цитированием
  #4  
Старый 08.05.2013, 21:18
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Прошу прощения, но подготовка к празднованию ДП в самом разгаре, в смысле самому что-то умное лопотать нету возможности, посему ограничусь копипастой с нашего же сайта

Цитата:
type TDateTime = type Double;
Описание
Тип TDateTime содержит значение даты и времени.

Она сохраняется как переменная Double, с датой как целая часть, а время как дробная. Дата сохраняется как число дней с 30 декабря 1899.

Поскольку TDateTime является Double, то вы можете выполнять над ним вычисления, как будто это было число. Это очень полезно для вычислений, например, разницы между двумя датами.
вроде всё понятно.
Ответить с цитированием
  #5  
Старый 08.05.2013, 21:21
Аватар для RusMaXXX
RusMaXXX RusMaXXX вне форума
Начинающий
 
Регистрация: 01.10.2008
Сообщения: 138
Версия Delphi: 7
Репутация: 21
По умолчанию

понятно...))
__________________
уволен в запас!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter