3

I'm creating a table with percentages and calculating a simple sum of a column. The only thing left is to show the result of the formula as a percentage.

Here is my MWE:

| Element |   $ |
| E1      | 35% |
| E2      | 65% |
|---------+-----|
| Total   |  1. |
#+TBLFM: @>$>=vsum(@2..@-1)

My question is: how can I show the result of the formula as 100% instead of 1?

The percentage signs are important because the table will be exported to latex.

1
  • Off the top of my head, I would have said: by applying a calc format using the ;<format> specification described here - but I don't know what format that would be. I think calc can do that but I don't know if Org mode implements it.
    – NickD
    Sep 24, 2020 at 1:38

1 Answer 1

6

After a bit of trial and error, it seems that something like this might work:

| Element |    $ |
|---------+------|
| E1      |  35% |
| E2      |  65% |
|---------+------|
| Total   | 100% |
#+TBLFM: @>$>=vsum(@I..II)*100;%.0f%%

You always think of the entries as the corresponding decimal fraction (35% = 35/100 = 0.35 etc) and the result is the sum of the fractions, so you convert the fraction into the percentage by multiplying by 100 and formatting the result as a float with, in this case, 0 digits after the decimal point and appending a % sign (but a % sign has special meaning in format strings so to get a literal percent sign, it needs to be escaped with another percent sign).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.