double类型转换为字符串,有没有简化的代码或函数?比如得出的结果是
1.????:MM:SS
  255:59:09 
  255小时59分9秒
2.第??天?点?分

解决方案 »

  1.   

    某个时间点可以直接用DateTimeToStr,
    时间段可以使用Format和日期函数进行拼接
      

  2.   

    function Func1(ADate: double): AnsiString;
    const
      SecsPerHour = SecsPerMin * MinsPerHour;
    var
      Hours,Mins,Secs: LongWord;
    begin
      Secs := Trunc(ADate * SecsPerDay);
      Hours := Secs div SecsPerHour;
      Secs := Secs mod SecsPerHour;
      Mins := Secs div SecsPerMin;
      Secs := Secs mod SecsPerMin;
      Result := Format('%d:%d:%d',[Hours,Mins,Secs]);
    end;function Func2(ADate: double): AnsiString;
    var
      Days,Hours,Mins: LongWord;
    begin
      Mins := Trunc(ADate * MinsPerDay);
      Days := Mins div MinsPerDay;
      Mins := Mins mod MinsPerDay;
      Hours := Mins div MinsPerHour;
      Mins := Mins mod MinsPerHour;
      Result := Format('第%d天%d点%d分',[Days,Hours,Mins]);
    end;