除法上的小数

除法上的小数

以下示例在除以\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}

输出:

在此处输入图片描述

相关内容