my-emacs-d/lisp/round-number-to-decimals.el
2016-09-15 16:08:54 +02:00

20 lines
582 B
EmacsLisp

(defun get-number-at-point ()
(interactive)
(skip-chars-backward "0123456789.-")
(or (looking-at "[0123456789.-]+")
(error "No number at point"))
(string-to-number (match-string 0)))
(defun round-number-at-point-to-decimals (decimal-count)
(interactive "NDecimal count: ")
(let ((mult (expt 10 decimal-count)))
(replace-match (number-to-string
(/
(fround
(*
mult
(get-number-at-point)))
mult)))))
(global-set-key (kbd "C-c r") 'round-number-at-point-to-decimals)