这是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}\\