From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: bike shifting - output decimal in percent Date: Sun, 19 May 2019 09:35:33 +0200 Message-ID: <867eamsxq2.fsf@zoho.eu> References: <86mujjrzw0.fsf@zoho.eu> <3b5af744-8dc6-42d0-9273-a8030e2b3443@default> <86blzysz4e.fsf@zoho.eu> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="247952"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun May 19 09:36:02 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hSGMS-0012IR-TF for geh-help-gnu-emacs@m.gmane.org; Sun, 19 May 2019 09:36:01 +0200 Original-Received: from localhost ([127.0.0.1]:45202 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSGMR-0007C2-Ta for geh-help-gnu-emacs@m.gmane.org; Sun, 19 May 2019 03:35:59 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:35868) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSGMD-0007Bt-4V for help-gnu-emacs@gnu.org; Sun, 19 May 2019 03:35:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hSGMB-0001ay-Qw for help-gnu-emacs@gnu.org; Sun, 19 May 2019 03:35:45 -0400 Original-Received: from [195.159.176.226] (port=60718 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hSGMB-0001aX-Kd for help-gnu-emacs@gnu.org; Sun, 19 May 2019 03:35:43 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hSGM9-0011wh-99 for help-gnu-emacs@gnu.org; Sun, 19 May 2019 09:35:41 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Cancel-Lock: sha1:ohnxAugu+ULwRClCvLH3VXPEpJ4= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:120530 Archived-At: >> (format "%2.2g%%" (* 100.0 foo)) => "31%" > > Great, thanks a lot :) Oups, spoke (no pun intended :)) too soon. Too much respect for Drew, I suppose ;) But to be honest, the original program is _much_ better. Check out the examples below: ;; secret bonus program :) ;; thanks to friend at #emacs (defun percent-string (decimal) (concat (number-to-string (round (* 100 decimal)) ) "%") ) ;; test: (percent-string 0.42857142857142855) ; "43%" (defun bike-compute-step (from to) (percent-string (/ (- from to) from 1.0) )) ;; test - should be 43% for ;; one 42t and one 24t chainring ;; according to an article in the spring 2019 issue ;; of "Bicycle Quarterly" (ISSN 1941-8809) - ;; (bike-compute-step 42 24) ; "43%" ;; (percent-string 0.01) ; "1%" ;; (percent-string 0.1) ; "10%" ;; (percent-string 1) ; "100% ;; (percent-string 2) ; "200%" ;; (format "%2.2g%%" (* 100.0 0.01)) ; " 1%" (?) ;; (format "%2.2g%%" (* 100.0 0.1)) ; "10%" ;; (format "%2.2g%%" (* 100.0 1)) ; "1e+02%" (!?) ;; (format "%2.2g%%" (* 100.0 2)) ; "2e+02%" (...) File: https://dataswamp.org/~incal/emacs-init/bike.el -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal