[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using `eval-expression' for math
From: |
Thierry Volpiatto |
Subject: |
Re: Using `eval-expression' for math |
Date: |
Thu, 03 Apr 2008 15:58:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
reader@newsguy.com writes:
> Can someone show me how to do math with the eval-expression tool?
>
> (+ 2 2) and such simple problems I can do of course but when it comes
> to combining things like:
>
> 52 * 32 / 12
>
> Trying (* 52 32 ( / 12))
>
> or
> (/ 12 ( * 52 32 ))
>
> Goes nowhere fast, and from there I can't really imagine how else to
> arrange the parens.
>
> I get completely lost with the paren arrangement. Obviously my lisp
> skills are non-existent but I'm guessing there are a few basic rules
> that will allow me to do basic math like the problem above quickly
> without having to resort to my old stand by:
>
> awk 'BEGIN{print ((52 * 32) / 12)}'
>
> Or simply:
>
> awk 'BEGIN{print (52 * 32 / 12)}'
>
> Using awk takes longer to get it done than a quick `eval-expression' inside
> emacs would take.
>
Not sure to understand what you want to do , is it that?
,----
| ELISP> (/ (* 52 32) 12)
| 138
`----
Or that?
,----
| ELISP> (/ (* 52 32) 12.0)
| 138.66666666666666
`----
Or that?
,----
| ELISP> (/ (round (* 100 (/ (* 52 32) 12.0))) 100.0)
| 138.67
`----
In a shell?
,----
| thierry@thievol ~ $ bc -l<<EOF
| > scale=2
| > 52 * 32 / 12
| > EOF
| 138.66
`----
--
A + Thierry
Pub key: http://pgp.mit.edu