以下示例在除以\X经过\y
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8x]{inputenc}
\newcommand{\x}{31}
\newcommand{\y}{45}
\begin{document}
I need the decimal results of following division:
\the\numexpr\x/\y\relax.
\end{document}
我该如何修复它?
答案1
\documentclass{article}
\usepackage{xfp}
\begin{document}
\fpeval{31/45}
\fpeval{round(31/45,5)}
\end{document}
的工具箱xfp
相当广泛。
如果需要逗号而不是小数点,请使用siunitx
:
\documentclass{article}
\usepackage{xfp,siunitx}
\sisetup{output-decimal-marker={,}}
\begin{document}
\num{\fpeval{31/45}}
\num{\fpeval{round(31/45,5)}}
\end{document}
答案2
\documentclass{article}
%\usepackage[spanish]{babel}
\usepackage[utf8x]{inputenc}
\newcommand{\x}{31}
\newcommand{\y}{45}
\makeatletter
\newcommand\MyDivide[2]{\strip@pt\dimexpr\numexpr#1*65536/#2 sp\relax}
\makeatother
\begin{document}
I need the decimal results of following division:
\MyDivide{\x}{\y}
\end{document}
哎呀,抱歉,我把#1
和#2
第一个搞混了。所以:
答案3
这是一个基于 LuaLaTeX 的解决方案。
% !TeX program = lualatex
\RequirePackage{luacode}
\begin{luacode}
function mycalc (prec,n)
tex.sprint ( string.format ( "%."..prec.."f" , n) )
end
\end{luacode}
\documentclass{article}
\usepackage[spanish]{babel}
%% Show 5 digits of prec. by default:
\newcommand\mycalc[2][5]{\directlua{mycalc(#1,#2)}}
\begin{document}
\newcommand{\x}{31}
\newcommand{\y}{45}
I need the decimal results of following division: \mycalc{\x/\y}.
\end{document}
答案4
0.26软件包xlop
允许您进行如下的法语除法:
\documentclass{article}
\usepackage{xlop}
\begin{document}
“french” division:
\opdiv{31}{45}
\end{document}
输出:
一旦发现经期,它就会停止
\documentclass{article}
\usepackage{xlop}
\begin{document}
With inline mode:
\opdiv[maxdivstep=5,style=text]{31}{45}
Stop with period detection:
\opdiv[period,style=text]{31}{45}
\end{document}
输出:
星型宏允许执行计算但不显示结果。对于除法,\opdiv*{31}{45}{q}{r}
宏将商 (q) 和余数 (r) 存储在两个参数中。
三个宏允许控制精度。它们允许近似一个数字并给出近似的等级。有\opfloor
(默认近似值)、\opceil
(超额近似值)和\opround
(舍入)
\documentclass{article}
\usepackage{xlop}
\begin{document}
Approximation:
\opdiv*[maxdivstep=15]{31}{45}{q}{r}
\opfloor{q}{7}{a}
\opceil{q}{10}{b}
\opround{q}{13}{c}
\opprint{a}
\opprint{b}
\opprint{c}
\end{document}
输出: