Author: Gopikrishna
Date: 07:42:23 07/21/04
Go up one level in this thread
On July 21, 2004 at 07:47:25, Geoffrey Westwood wrote:
>Hi
>
>Off the top of my head without testing code needs to look something like
>
>double timeInMillisecs
>int timeInMins
>double timeInSecs
>
>
>timeInMillisecs = 62230; /* test 62.23 secs */
>
>timeInMins = (int)(timeInMillisecs/60000);
>
>timeInSecs = (timeInMillisecs/60000 - (double)timeInMins) * 60;
>
>Printf("Total time:%d min:%2.2f secs", timeInMins, timeInSecs);
>
>it would be quite slow though due to the nasty casts
>
> Regards Geoff
>
>
>On July 21, 2004 at 03:45:39, Gopikrishna wrote:
>
>>Time is passed as double.I preffered double instead of unsigned long because for
>>outputting fraction of secs like 2.23 secs, double is more convenient.
>>
>> So ttm is passsed as double.
>> if ((ttm/1000) >=60)
>>{
>> ttm=ttm/1000;
>> ms=ttm/60;
>> ttm=(ttm-(ms1*60));
>> min1=(int)ms1;
>>}
>>else
>>ttm=ttm/1000;
>>
>>In the above ms is declared as double whereas min1 as int.
>>So when I print time as,
>>Printf("Total time:%d min:%2.2f secs",min1,ttm);
>>
>> So when time was passed as 61000 (or 61secs), its outputting as
>>Total time:0 min:-61.00 sec
>>Strange!!! Also another problem is its in minus.
>>It should have been 1 min:1 sec.So am i doing anything wrong in the above?
>>Actually I could have passed time as unsigned long instead of double but as you
>>can see I want that secs to be accurate like 2.23 secs instead of 2 secs !
>> So please help me.Thanks.
What Geoffrey said is working ! But the only thing is its outputting in minus
but if I negate that its perfect! Thanks Geoffrey.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.