I would go here with an almost orthogonal answer/comment. The original TeX engine has only integer arithmetic and while TeX is Turing complete language and implementation of floating point arithmetics via integer arithmetic is certainly possible (I believe the name of the package is float-point or something like that) this is a perfect example where using actually LuaTeX engine or PythonTeX package with any engine except the original one seems to me philosophically right way to do this.
I just used PythonTeX over the weekend for the first time as a part of my day job and it is fantastic.
This is quick and dirty lua version. You must use lualatex for this to work!
\documentclass{standalone}
\usepackage{luacode}
\begin{document}
\begin{luacode*}
result = 2*(1234.56+9786.45)
out = string.format("%.2f",result)
tex.print(out)
\end{luacode*}
\end{document}
It is almost obvious that you can replace entire Lua code with
\documentclass{standalone}
\begin{document}
\directlua{tex.print(string.format("%.2f",2*(1234.56+9786.45)))}
\end{document}
and forget about loading luacode package all together.
Here is PythonTeX. You must run pdflatex, lualatex, or xelatex once then pythontex script then one more time the engine. It doesn't work with Don's engine!
\documentclass{standalone}
% Begin engine=specific settings
\expandafter\ifx\csname pdfmatch\endcsname\relax
\else
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\fi
% xetex:
\expandafter\ifx\csname XeTeXinterchartoks\endcsname\relax
\else
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\fi
% luatex:
\expandafter\ifx\csname directlua\endcsname\relax
\else
\usepackage{fontspec}
\fi
% End engine-specific settings
% Generic packages for PythonTeX.
\usepackage{amsmath,amssymb}
\usepackage{fullpage}
\usepackage{graphicx}
\usepackage[svgnames]{xcolor}
\usepackage{url}
\urlstyle{same}
\usepackage[makestderr]{pythontex}
\restartpythontexsession{\thesection}
\usepackage[framemethod=TikZ]{mdframed}
\begin{document}
\begin{pylabcode}
result = 2*(1234.56+9786.45)
print("{0:.2f}".format(result))
\end{pylabcode}
\end{document}
As people can see most of the above file are just setting :) Note also that Python has much much better ways to deal with currency computations. Consider above just a toy example.