表格中的数字:按小数点对齐*并且*向右对齐?

表格中的数字:按小数点对齐*并且*向右对齐?

这是siunitx:在表格中按小数点对齐数字不适用于粗体或斜体数字按表格列中的小数点对齐数字

虽然这两个问题的解决方案都有效,但我希望可以进行最后的更改。目前,虽然数字按小数点对齐,但它们在列内居中。以下是代码及其输出。

有没有办法让最右列的数字也向右对齐,同时保持小数点对齐如果需要一点帮助也是可以的,比如提前声明每个部分(整数和小数)有多少位数字。这样就知道哪个小数位是最右边的,并且可以确定对齐方式。

\begin{table}[htp]
    \centering
    \begin{tabular}{@{}l r r>{\bfseries}S[table-format=3.2]@{}}
          \toprule
          \textbf{Product Group} & \textbf{Production Size} & \textbf{Number of Failures} & \textbf{Failure Rates} \\
          & & & \textbf{(per 1,000 items)} \\
          \midrule
          %  \addlinespace
          foo1 & 11,111 & 1,111 & 11.11\\
          foo2 & 22,222 & 2,222 & 222\\
          foo3 & 33,333 & 3,333 & 3.33\\
          foo4 & 44,444 & 4,444 & 44.4\\
          foo5 & 55,555 & 5,555 & 5.5\\
          \bottomrule
    \end{tabular}
\end{table}

替代文本

答案1

使用以下作为列格式:

S[table-format=3.2,table-number-alignment=right]

答案2

我认为它实际上看起来不会像你想象的那么好,但是......

最直接的方法可能是将所有数字填写到相同的小数位数,然后右对齐。您显然不想打印出所有这些,因此请在\phantom您不想打印的部分上使用:

foo2 & 22,222 & 2,222 & 222\phantom{.00}\\
foo3 & 33,333 & 3,333 & 3.33\\
foo4 & 44,444 & 4,444 & 44.4\phantom{0}\\

相关内容