Re: ошибки округления в TDateTime?
От: Rius Россия  
Дата: 26.08.08 02:52
Оценка:
Здравствуйте, svg2003, Вы писали:

S>похоже вылез очередной баг VCL-ля.

S>исходная задача: имеем TDateTime, из него нужно получить количество дней. компилятор bcc5.5.1.
S>логично было бы преобразовать его в int и в нём будет лежать количество дней, но cледующий код выдаёт:

S>31.12.1899

S>0.9999999999999995559
S>0

S>
S>void Test()
S>{
S>    TDateTime t1 = 0;
S>    TDateTime t2( "01:00:00" );
S>    for(int i = 0; i < 24; ++i)
S>    {
S>        t1 += t2;
S>    }

S>    cout << t1.DateTimeString().c_str() << endl;
S>    cout << setprecision(30) << double( t1 ) << endl;
S>    cout << int( t1 ) << endl;
S>}
S>


S>хотелось бы знать, где я ошибся, и что я делаю не так, а то у меня всё большее желание, отказаться от этого самого TDateTime во всех проектах в пользу самописного класса. на сравнениях уже накалывался, теперь вот это


попробуйте получить число дней встроенными свойствами класса TDateTime
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.