¿Cómo dividir dos longitudes y obtener un resultado como un número entero?

¿Cómo dividir dos longitudes y obtener un resultado como un número entero?

Tengo un problema al dividir dos longitudes y obtener el resultado como un número entero. Estaba intentando usar este paquete:

\usepackage[nomessages]{fp}

Realmente no funcionó para mí. Lo intenté de varias maneras, pero todavía no funcionó.

¿Puedes ayudarme con una forma alternativa?

Respuesta1

Puedes usar \numexpry \dimexpr, pero esto redondea en lugar de truncar:

\documentclass{article}

\newcommand{\getlengthratio}[2]{%
  \number\numexpr
    \dimexpr#1\relax
     /
    \dimexpr#2\relax
  \relax}

\newcounter{test}

\begin{document}

There are \getlengthratio{\textwidth}{\parindent} parindents in a line

\setcounter{test}{\getlengthratio{\textwidth}{\parindent}}

The same number: \thetest

\end{document}

Una opción diferente, donde puedes elegir entre suelo, techo y redondo, es con expl3:

\documentclass{article}
\usepackage{xparse}

\ExplSyntaxOn
\DeclareExpandableDocumentCommand{\getlengthratio}{mm}
 {
  \fp_eval:n { floor ( \dim_to_fp:n { #1 } / \dim_to_fp:n { #2 } , 0 ) }
 }
\ExplSyntaxOff

\newcounter{test}

\begin{document}

There are \getlengthratio{\textwidth}{\parindent} parindents in a line

\setcounter{test}{\getlengthratio{\textwidth}{\parindent}}

The same number: \thetest

\end{document}

ingrese la descripción de la imagen aquí

información relacionada