如何创建一个具有小数对齐和小数自动填充数字的表格?

如何创建一个具有小数对齐和小数自动填充数字的表格?

我有一张包含可变小数位数的数字的表格。我希望这些数字:

  1. 小数点对齐
  2. 如果小数位数少于最大位数,则缺少的部分会自动用 0 填充

我正在使用siunitx包来对齐十进制数。使用如下代码

\documentclass[border=3mm]{standalone}
\usepackage{siunitx}

\begin{document}
\begin{tabular}{S[table-format=2.2]S[table-format=2.2]}
    \hline
    {Lorem} & {Ipsum} \\
    \hline
    1,2     & 3,4     \\
    5,67    & 8,9     \\
    1,2     & 3,45    \\
    67,89   & 12,34   \\
    \hline
\end{tabular}
\end{document}

我可以创建这个表:

在此处输入图片描述

但我想要的是另一个这样的:

在此处输入图片描述

我使用它siunitx是因为过去我使用过它并且我更愿意继续使用它,但如果有更好的包我也可以使用它。

答案1

正如@JohnKormylo 在评论中已经指出的那样,您可以继续使用该包的机制siunitx——只需添加选项round-mode=placesround-precision=2

必须写

S[table-format=2.2,round-mode=places,round-precision=2]

反复执行会很快变得非常乏味。如果你发现自己陷入了这样的困境,只需定义一个新的列类型,例如,

\newcolumntype{T}{S[table-format=2.2,round-mode=places,round-precision=2]}

并在各种环境中使用它tabular

在此处输入图片描述

\documentclass{article}
\usepackage{siunitx}
\newcolumntype{T}{S[table-format=2.2,round-mode=places,round-precision=2]}
\begin{document}
\begin{tabular}{TT}
    \hline
    {Lorem} & {Ipsum} \\
    \hline
    1,2     & 3,4     \\
    5,67    & 8,9     \\
    1,2     & 3,45    \\
    67,89   & 12,34   \\
    \hline
\end{tabular}
\end{document}

相关内容