For the sake of variety, a LuaLaTeX-based solution.
Two remarks about this solution:
The default precision displayed by
\myPerCentis 3 significant digits. This can be overridden by specifying an optional argument, enclosed in square brackets.The two mandatory arguments of
\myPerCentdon't have to be numbers. All that's required is that they evaluate to numbers using standard math syntax rules.
% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{luacode} % for '\luaexec' macro
\newcommand{\myPerCent}[3][3]{\luaexec{%
tex.sprint( 100 * string.format("\%.#1g",(#2)/(#3)) )
}\,\%}
\begin{document}
\myPerCent{2441}{8667}, \myPerCent[5]{2441}{8667}.
\myPerCent{10/2}{2*3}, \myPerCent[5]{10/2}{2*3}.
\end{document}
