当输入为零时,siunitx 中的最小舍入值

当输入为零时,siunitx 中的最小舍入值

我使用siunitx和 它的round-minimum=0.001功能。我有一个带有输入的表格,0因为knitr只导出小数点后的数字。但是,0不显示为<0.001而是显示为0。根据插图,

小插图

据我了解,任何低于阈值的数字都显示为<threshold。据我所知,这应该包括0。有人知道如何让它做到这一点吗?

\documentclass[11pt]{article}
\usepackage{siunitx}
\begin{document}

\sisetup{ table-alignment=right, 
          round-mode=places, 
          round-precision=3,
          round-minimum=0.001, 
          table-format=<1.3}

\begin{table}
\begin{tabular}{S}
0.0004  \\
0
\end{tabular}
\end{table}

\end{document}

输出

答案1

来自siunitx 手册:

最小回合数

在某些情况下,舍入会导致数字达到零。可能希望显示低于阈值的结果。这可以通过将舍入最小值设置为阈值来实现。舍入到一些有效数字时不会产生任何影响,因为在这些情况下不可能获得零值。

为了说明基于您的 MWE 的示例:

\documentclass[11pt]{article}
\usepackage{siunitx}
\sisetup{ table-alignment=right,
          round-mode=places,
          round-precision=3,
          round-minimum=0.001,
          table-format=<1.3}

\begin{document}
    \begin{table}
\begin{tabular}{l | S | l}
input data  & {showed data} & comment           \\  \hline
0.135 678   & 1.135 678     & rounded           \\
0.000 056   & 0.000 056     & rounded to zero   \\
0.000 5     & 0.000 5       & rounded           \\
0.000 4     & 0.000 4       & rounded to zero   \\
0.000 468   & 0.000 468     & rounded to zero   \\
0.000 000   & 0.000 000     & not rounded       \\
0           & 0             & integer, not rounded 
\end{tabular}
    \end{table}
\end{document}

在此处输入图片描述

从上图可以看出,round-minimum=0.001当输入数字四舍五入为零时,选项会采取行动,否则仅激活标准的四舍五入机制。

在您的情况下,这意味着:如果输入数据例如kniter有 6 位数字,并且已经四舍五入,则siunitx 由于选项,这些数据table-format=<1.3将显示为具有 1 个整数和 3 个小数位的数字,其中最后的小数位将在round-precision=3必要时四舍五入。在这种情况下,当siunitx它们四舍五入为零时,由于选项,它们将round-minimum=0.001显示为 0.001。通过这种方式可以区分输入数字何时等于零以及何时四舍五入为零。

相关内容