From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Welle Subject: Re: Calc: Multiply time (hours) with a float Date: Mon, 19 Sep 2016 14:41:09 +0200 Message-ID: <87a8f4m596.fsf@luisa.c0t0d0s0.de> References: <2016-09-08T10-32-27@devnull.Karl-Voit.at> <2016-09-11T13-43-22@devnull.Karl-Voit.at> <87oa3u1vpn.fsf@luisa.c0t0d0s0.de> <2016-09-18T18-32-24@devnull.Karl-Voit.at> <874m5cs7tq.fsf@luisa.c0t0d0s0.de> <87oa3kqsy3.fsf@luisa.c0t0d0s0.de> <2016-09-19T13-38-25@devnull.Karl-Voit.at> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59636) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1blxsp-0002Si-N5 for emacs-orgmode@gnu.org; Mon, 19 Sep 2016 08:41:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1blxsl-0005hc-UO for emacs-orgmode@gnu.org; Mon, 19 Sep 2016 08:41:15 -0400 Received: from mout.gmx.net ([212.227.17.20]:57913) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1blxsl-0005hR-Jb for emacs-orgmode@gnu.org; Mon, 19 Sep 2016 08:41:11 -0400 Received: from stella.c0t0d0s0.de ([88.66.7.109]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LhwAY-1bGUwW1SDa-00nDIX for ; Mon, 19 Sep 2016 14:41:10 +0200 Received: from Stella (stella.c0t0d0s0.de [192.168.42.1]) by stella.c0t0d0s0.de (Postfix) with ESMTP id 9104DC4264 for ; Mon, 19 Sep 2016 14:41:09 +0200 (CEST) In-Reply-To: <2016-09-19T13-38-25@devnull.Karl-Voit.at> (Karl Voit's message of "Mon, 19 Sep 2016 13:43:08 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Hello, Karl Voit writes: > Hallo Michael, > > thanks for the pointer to http://orgmode.org/org.html#Formula-syntax-for-Lisp - > it was very helpful for my understanding. > > * Michael Welle wrote: >> Hello, >> >> Michael Welle writes: >> [...] >>> #+TBLFM: @2$3='(* $2 (org-time-string-to-hours "$1"));L >> or converting $2 to a number before the calculation should work also, >> but is more to write ;). > > Hm. I still got #ERROR. I reduced my issue to calculate the float (for hours) > without multiplying it with "value": strange. I use the current Org version from git and Emacs 25.1. > | time [h:m:s] | value | product | > |--------------+---------+---------| > | 09:15:00 | 2.54321 | #ERROR | > > #+TBLFM: @2$3='(org-time-string-to-hours $1) That works for me. The default interpretation of $1 is used and therefore the value is fed into o-t-s-t-h as string. > #+TBLFM: @2$3='(org-time-string-to-hours $1);L That doesn't work. I'm not sure, but I guess it is because you asked for literal interpretation and it is not clear what that would mean for 09:15:00. > #+TBLFM: @2$3='(org-time-string-to-hours "$1");N Here you ask for interpretation as numbers. So the o-t-s-t-h function sees a stringified 9 as it's parameter value. Near, but still no t-shirt ;). > ... each of the TBLFM results in the same error. Well, none of them looks like the one I wrote: #+TBLFM: @2$3='(* $2 (org-time-string-to-hours "$1"));L You said, that gives an error, too. I have no idea, why. You can use (message...) and (type-of ...) to look at the types and values that you feed into your functions. Maybe that gives some insight? The variant with converting $2 to a number is: #+TBLFM: @2$3='(* (string-to-number $2) (org-time-string-to-hours $1)) Since the default interpretation is to use strings, the multiplication sees $2 as a number and $1 is fed to your function as a string, as required. Regards hmw