c++:DT.Val +=1不会报错+= 0.99999会报“不正常地定义参数对象。提供了不一致或不完整的信息。”什么原因

在C++builder中
TDateTime DT=dtpEnd->DateTime;
DT.Val += 0.99999; ///+1可以查询不报错,+0.99999时查询会报错,提示“不正常地定义参数对象。提供了不一致或不完整的信息。”
String s = DT.DateTimeString();
TDateTime DTe= dtpBegin->DateTime;
DTe.Val += 0.00000;
sWhere = sWhere + "RegTime Between #"+ DTe.DateTimeString() + "# and #" + DT.DateTimeString() +"#";
dtpBegin->DateTime = Now().CurrentDate();
dtpEnd->DateTime = Now().CurrentDate();

DT.Val是什么类型,是不是整数类型

对外显示的是十进制,当转成计算机语言时,需要转二进制,这个时候报的错,转不开