From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: org-spreadsheet: formatting chops off units Date: Wed, 05 Sep 2012 23:08:15 -0400 Message-ID: <18474.1346900895@alphaville.americas.hpqcorp.net> References: Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([208.118.235.92]:52467) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T9SS3-0006n7-Sf for emacs-orgmode@gnu.org; Wed, 05 Sep 2012 23:08:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T9SS2-0004dm-Rv for emacs-orgmode@gnu.org; Wed, 05 Sep 2012 23:08:19 -0400 Received: from g4t0016.houston.hp.com ([15.201.24.19]:4715) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T9SS2-0004di-LB for emacs-orgmode@gnu.org; Wed, 05 Sep 2012 23:08:18 -0400 In-Reply-To: Message from Kyle Andrews of "Wed, 05 Sep 2012 17:46:36 EDT." 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-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Kyle Andrews Cc: Emacs orgmode Kyle Andrews wrote: > Hello everyone, > > I want to use an org-spreadsheet to perform unit conversions for me. > > | Mass (g) | Mass (lb) | > |----------+---------------| > | 300 g | 0.66138679 lb | > | 23 kg | 50.706320 lb | > | 50 Mg | 110231.13 lb | > #+TBLFM: $2=uconvert($1, lb) > > > I made the table above, but can't figure out how to format the output. I > tried using the ;%.2f notation shown in the manual, but it cuts the > units off for some reason. > > Here is what org-table displays with ;%.2f appended onto my table > formula: > > | Mass (g) | Mass (lb) | > |----------+---------------| > | 300 g | 0.66 | > | 23 kg | 50.71 | > | 50 Mg | 110231.13 | > #+TBLFM: $2=uconvert($1, lb);%.2f > > > Here is what I wish appending ;%.2f would cause org-table to display: > > > | Mass (g) | Mass (lb) | > |----------+---------------| > | 300 g | 0.66 lb | > | 23 kg | 50.71 lb | > | 50 Mg | 110231.13 lb | > #+TBLFM: $2=uconvert($1, lb);%.2f > > > If you type in '0.66138679 lb into calc directly, and press d f 2, calc > displays 0.66 lb as desired. Is there any reason for the %.2f notation > chops off the units? Is there some better way to accomplish what I > want? > > Thanks! > > > Note: my spreadsheet uses the wrapper function below to convert units with calc. > > #+begin_src emacs-lisp > (defmath uconvert (expression new-units) > (math-convert-units expression new-units))) > #+end_src > There might be a better, more local, way of doing it, so take the following as an existence proof: if you customize the variable org-calc-default-modes and change the calc-float-format to (fix 2), the table will recalculate to your expectations. I don't know how to stitch together the better solution however, so I leave that as an exercise for you :-) Nick