gpt4 book ai didi

delphi - 从 EndOfTheMonth(date) 到 Variant 值的错误转换

转载 作者:行者123 更新时间:2023-12-03 15:00:34 26 4
gpt4 key购买 nike

我有一个变体类型的 TDateTime 值(我从 EndOfTheMonth(date) 获得的结果)。结果四舍五入错误。让我们看一下示例:

  data := EndOfTheMonth(date);
V := data;
ShowMessage(DateTimeToStr(data) + ' vs ' + VarToStr(V));
// output is
// data = 2012-01-31 23:59:59
// v = 2012-02-01 // why next day?

这是设计好的行为吗?如何解决这个问题?

最佳答案

ShowMessage(DateTimeToStr(data) + ' vs ' + DateTimeToStr(VarToDateTime(V)));

更新:我猜问题是该月的最后毫秒非常接近第二天的 0:00:00,即 TDateTime值(基本上是一个 double)非常接近整数(例如 41029.9999999884 非常接近 41029),因此 VarToStr 函数假定小数是数字模糊。

关于delphi - 从 EndOfTheMonth(date) 到 Variant 值的错误转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com