Op zo, 17-06-2007 te 00:14 +0200, schreef Carsten Dominik: > > In a row I have the following formula's: > > =$3 > > ='(getHours $2);%.2f > > ='(/ 67 0.72);%.1f > > ='(/ $3 (getHours $2));%.1f > > This gives: > > 67 > > 0.72 > > 93.1 > > 0.0 > > > > I would expect the last two to return the same number. Why is this not > > the case? > > > > When I change the last formula to: > > ='(/ 67 (getHours $2));%.1f > > I get: > > 93.5 > > > > What is happening here? > > Since I don't know exactly what getHours does, I cannot be sure. > The most likely reason though is that $3 and $2 are interpolated into > Lisp expressions as strings, not as numbers.
The tabel: |--------+------+----+-----+------+----+------| | Arnhem | 0:43 | 67 | 0.0 | 93.1 | 67 | 0.72 | |--------+------+----+-----+------+----+------| #+TBLFM: $4='(/ $3 (getHours $2));N%.1f::$5='(/ 67 0.72);%.1f::$6=$3::$7='(getHours $2);%.2f:: getHours: (defun getHours(time) (interactive "sHH:MM: ") (let ((timelist (split-string time ":"))) (+ (string-to-number (car timelist)) (/ (string-to-number (cadr timelist)) 60.0 ) ) ) ) The strange thing is that $3 is 67 and when I change $3 to 67 it works. Even changing the formul to: ='(/ (string-to-number $3) (getHours $2));N%.1f does not work. > See the discussion of the N mode flag in > > http://staff.science.uva.nl/~dominik/Tools/org/org.html#Formula-syntax- > for-Lisp The problem is with $3, so I would not know how to use that. :-{ -- Cecil Westerhof <[EMAIL PROTECTED]> _______________________________________________ Emacs-orgmode mailing list Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode