Изменение количества знаков после запятой в spreadtab

Изменение количества знаков после запятой в spreadtab

У меня есть таблица бюджета, созданная с помощью SpreadTab.

\STautoround*{2}
\begin{spreadtab}{{tabular}{lrrrr}}
@\textbf{Item}                  &@\textbf{Unit Value}&@\textbf{Unit Cost}&@\textbf{Quantity}&@\textbf{Total Price}\\
\hline
@7-segment display       &10        &1.00     &1050    &[-1,0] * [-2,0]\\
@Capacitor (100nF)       &0.08      &0.08     &1400    &[-1,0] * [-2,0]\\
@Capacitor (10$\mu$F)    &0.10      &0.10     &350     &[-1,0] * [-2,0]\\
\end{spreadtab}

Я хочу округлить цены до 2 знаков после запятой, а количества — до нуля. В настоящее время этот код округляет их все до 2 знаков после запятой. Как выбрать количество знаков после запятой в столбце?

решение1

Например, вы можете использовать пакет , который дает вам возможность форматировать числа в столбце numprintс помощью типа столбца , при этом вы можете округлять числа по своему усмотрению.N{6}{2}\nprounddigits{2}

Ваш измененный фрагмент кода как MWE:

\documentclass[ngerman]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}

\usepackage{spreadtab}
\usepackage{numprint}


\begin{document}

\STsetdecimalsep{,}  % German writing: comment it for english
\nprounddigits{2}

\begin{spreadtab}{{tabular}{lrrrN{6}{2}}}
@\textbf{Item}           &@\textbf{Unit Value}
                                    &@\textbf{Unit Cost}
                                              &@\textbf{Quantity}
                                                       &@\textbf{Total Price}\\
\hline
@7-segment display       &10        &1.13     &1050    &[-1,0] * [-2,0]\\
@Capacitor (100nF)       &0.08      &0.08     &1400    &[-1,0] * [-2,0]\\
@Capacitor (10$\mu$F)    &0.10      &0.10     &350     &[-1,0] * [-2,0]\\
\end{spreadtab}

\end{document}

И вы получаете результат:

введите описание изображения здесь

решение2

Я предлагаю мощный siunitxпакет.

\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{spreadtab}
\usepackage{siunitx}
\usepackage{booktabs}

\newcolumntype{E}[1]{% E for Euro; the argument is the number of digits in the mantissa
  S[table-format=#1.2,round-integer-to-decimal,round-mode=places,round-precision=2]%
}

\begin{document}

\begin{spreadtab}{%
  {tabular}{
    l
    S[table-format=2.2]
    E{1}
    S[table-format=4.0]
    S[table-format=4.2,round-mode=places,round-integer-to-decimal,round-precision=2]% customize at will
  }%
}
\toprule
@\textbf{Item}           &@\textbf{Unit Value}
                                    &@\textbf{Unit Cost}
                                              &@\textbf{Quantity}
                                                       &@\textbf{Total Price}\\
\midrule
@7-segment display       &10        &1.13     &1050    &[-1,0] * [-2,0]\\
@Capacitor (\SI{100}{\nano\farad})
                         &0.08      &0.08     &1400    &[-1,0] * [-2,0]\\
@Capacitor (\SI{10}{\micro\farad})
                         &0.10      &0.10     &350     &[-1,0] * [-2,0]\\
\bottomrule
\end{spreadtab}

\end{document}

введите описание изображения здесь

Связанный контент