Hi Nick,

Nick Dokos <ndo...@gmail.com> writes:

> I think you mean C-c +.
>
> The problem is that these things are calculated as decimal hours, using
> floating point arithmetic and you get truncation towards 0 when the
> value is printed out as an integer. The format in org-table-sum is
>
>     (format "%d:%02d:%02d" h m s)
>
> but s is 0.9999...  and it gets formatted as 0.
>
> It might be better to use
>
>     (format "%.0f:%02.0f:%02.0f" h m s)
>
> i.e. as floating point with no places after the decimal point
> (in which case the decimal point does not seem to be output).
> But there may be other problems that I have not thought of.
> It might be even better to round the floating point number to
> the nearest integer and use %d formats instead:
>
>     (format "%d:%02d:%02d" (round h) (round m) (round s))

Both solutions work -- we don't need to fear other problems here,
`org-table-sum' is pretty isolated, so I'd say "please go ahead!
and fix this in maint.

Thanks,

-- 
 Bastien

Reply via email to