20 lines
582 B
EmacsLisp
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)
|