On 12/10/2020 10:22, Christian Moe wrote: > > Hi, Daniele, > > Good that it's working for you. I'll try to explain the unclear parts. > > Daniele Nicolodi writes: > >> On 24/09/2020 11:17, Christian Moe wrote: >> >>> Now, with the Calc command to simplify units, you can add dollars to >>> euros and get the result in whichever currency comes first in the >>> algebraic expression >>> >>> | 3 USD | 4 EUR | 6.58 EUR | >>> #+tblfm: $3=usimplify($2+$1) >>> >>> | 3 USD | 4 EUR | 7.6511628 USD | >>> #+tblfm: $3=usimplify($1+$2) >> >> Having to explicitly use usimplify() is a bit too verbose. It would be >> ideal if this could be somehow be implicit. > > Yes, or at least with a less obtrusive syntax, like a mode flag, > something like > > $3=$2+$1;u
I had a look and unfortunately the implementation of mode flags is not easily extensible, thus this cannot easily implemented in independent code. Also, it would probably make sense to have this being a Calc mode activated with an org-table formula mode flag, rather than something implemented in org-table. I don't know how easy it would be to extend Calc. >>> I don't use this functionality, so I don't have answers to all the >>> questions you'll now have -- including how to get the desired precision >>> without lopping off the currency unit in the last example! >> >> Having the desired fixed precision is quite important for this to be >> useful. In y recent tests I had to drop the units (currencies) to >> achieve this. It would be nice to find a way to avoid it. Turns our this is actually easy. There are two ways to specify visualization format for table cells: a format specifier like $3=$1+$2;%.2f which results in the units being stripped, and a Calc formatting mode flag, like $3=$1+$2;f2 which does not strip the units. Cheers, Dan