Здравствуйте, 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