help-gnu-emacs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]