I hastily edited a little function that does this job. The expression to be evaluated must be a region containing an expression valid for the syntax of calc.
For example 1 + 2 will be evaluated and replaced by 3 and 1 + 2 => will be evaluated and replaced by 1 + 2 = 3.
Note that Calc's precedence rules impose parentheses in some cases, to return 437 the expression 7700 * 1/100 + 18000 * 2/100 = 437
must be written 7700 * (1/100) + 18000 * (2/100).
There are undoubtedly still things to be tweaked.
(defun evaluate-in-line (beg end)
"Evaluates the math expression from the region with calc syntax.
The expression can be ended with => or not."
(interactive (list (region-beginning) (region-end)) )
(let ((evaluation(calc-eval(substring(buffer-string) (1- beg)(1- end)))))
(when (stringp evaluation)
(kill-region beg end)
(save-excursion
(insert(with-temp-buffer
(insert evaluation)
(goto-char(point-min))
(when (search-forward "\\evalto" nil t) (replace-match "")
(search-forward "\\to" nil t)
(replace-match "="))
(buffer-string)))))))
Evaluate this function with C-x C-e just after the last parentheses, select a region that content an algebraic expression. M-x evaluate-in-line to proceed. If you find it handy, you can save it in your init file and bind this function to some keysstrokes.