如何对 LaTex 数字表的不同部分进行不同的舍入

如何对 LaTex 数字表的不同部分进行不同的舍入

假设我有以下 LaTex 数字表:

\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{lll}
0,209966415285772 & 0,107300702188478 & 0,220336484787743 \\
0,235535794083825 & 0,124200085401020 & 0,241022336291680 \\
0,238895516728854 & 0,112685447109388 & 0,241352008484367
\end{tabular}
\end{table}

我怎样才能将第 1-2 行四舍五入为小数点后 3 位,将第 3 行四舍五入为小数点后 2 位?

我之所以问这个问题,是因为我有一张包含大量数字的大表,我需要对表的不同部分进行不同的舍入。我该怎么做?MWE?

答案1

一个小的变化德克萨斯人答案(考虑到您的评论):

\documentclass{article}
\usepackage{siunitx}

\begin{document}
\begin{table}
\sisetup{table-column-width=16ex,    % local setting for all S columns
         round-mode=places,round-precision=3}
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{SSS}
0,209 966 415 285 772 & 0,107300702188478 & 0,220336484787743 \\
0,235535794083825 & 0,124200085401020 & 0,241022336291680 \\
\end{tabular}\\
\sisetup{round-precision=2}          % change setting for next S columns
\begin{tabular}{SSS}
0,238895516728854 & 0,112685447109388 & 0,241352008484367
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

答案2

您可以使用siunitx。注意:对于最后一行,您必须伪造一些水平空间。

四舍五入

\documentclass{article}

\usepackage[input-decimal-markers={,},round-mode=places,round-precision=3]{siunitx}

\begin{document}
\begin{table}
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{SSS}
0,209966415285772 & 0,107300702188478 & 0,220336484787743 \\
0,235535794083825 & 0,124200085401020 & 0,241022336291680 \\
\sisetup{round-precision=2}\hphantom{-\,}\num{0,238895516728854} & 
  \sisetup{round-precision=2}\hphantom{-\,}\num{0,112685447109388} &
  \sisetup{round-precision=2}\hphantom{-\,}\num{0,241352008484367}
\end{tabular}
\end{table}
\end{document}

更新:我刚刚与作者siunitx(Joseph Wright)进行了讨论,设置宏是本地的(因此您无法更改以下行)。无论如何,表格都应按列格式化。如果您确实需要改变该行为,您可以使用自己的命令来实现。

相关内容