LaTeX - 如何使用 hyperref 包限制计算文本字段中的字符数

LaTeX - 如何使用 hyperref 包限制计算文本字段中的字符数

我正在创建一个简单的表单,人们可以在其中输入身高和体重,系统会自动计算相应的 BMI。为此,我使用了 hyperref 包中 \TextField 的“计算”选项。

计算进行得很顺利,但提供的答案给出了一个带有小数的数字(例如 22.491349480...),我想仅出现第一个小数(-> 24.4),并且(如果可能的话)最佳输出是第一位小数的四舍五入数 (->24.5)。

仅当我单击字段内部时,“maxlen=4”命令才有效,但打印输出仍然包含所有小数。

我也尝试过改变字段的宽度,这样可以有效地减少答案,但不可能固定一个可以显示所有可能长度的精确宽度。

有人知道如何做到这一点吗?

这是我的代码:

\documentclass[a4paper, 12pt]{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}

\noindent
\TextField[name=hight,align=0]{Hight [cm]}
\\

\TextField[name=weight,align=0]{Weight [kg]}
\\

\noindent
\TextField[name=BMI, maxlen=4,align=0,readonly=true,
           calculate={%
                      var f_hight = this.getField("hight");
                      var f_weight = this.getField("weight");
                      event.value = f_weight.value /((f_hight.value/100)* 
   (f_hight.value/100));
                       }]{BMI}


\end{Form}
\end{document}

体重指数计算器

答案1

\documentclass[a4paper, 12pt]{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}

\noindent
\TextField[name=hight,align=0]{Hight [cm]}
\\

\TextField[name=weight,align=0]{Weight [kg]}
\\

\noindent
\TextField[name=BMI, maxlen=4,align=0,readonly=true,
           calculate={%
                      var f_hight = this.getField("hight");
                      var f_weight = this.getField("weight");
                      var n = f_weight.value /((f_hight.value/100)*
   (f_hight.value/100));
   event.value = n.toFixed(2);
                       }]{BMI}


\end{Form}
\end{document}

在此处输入图片描述

相关内容