PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Werte mit siunitx Abrunden



thomsen
05-02-2014, 17:21
Hallo Zusammen!

Derzeit stehe ich mal wieder vor einem kleinen Problem und würde mich über Hilfe freuen.
Ich verwende das siunitx Paket und würde gerne in einer Tabelle einzelne Spalten auf gewisse Anzahl von Kommastellen oder ganze Zahlen abrunden.
Habe schon die Option zum runden gefunden, allerdings nur nach mathematisch korrekten Regeln.

Ich möchte z.B. in dem folgenden Beispiel den Wert 3,50 auf 3 runden, 10,99 auf 10 oder den Wert 90,535 auf 90,53.
Also einfach diese Nachkommastellen nicht anzeigen lassen.

\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{siunitx}\sisetup{output-decimal-marker = {,}}
\begin{document}
\begin{table}
\centering
\caption{Test}
\begin{tabular}{S[round-mode = places,round-precision=0,table-format=2.2]
S[round-mode = places,round-precision=2,table-format=3.2]}

\toprule
\textbf{Durchmesser}& \textbf{Wert}\\
\midrule
3,50 & 90,535 \\
4,79 & 150,32 \\
10,99 & 193,815 \\
23,0 & 120,00 \\
\bottomrule
\end{tabular}%
\end{table}%

\end{document}

Mir ist natürlich klar, dass das mathematisch nicht korrekt ist. Gibt es dazu trotzdem eine Möglichkeit?

Vielen Dank.
Thomsen

hakaze
05-02-2014, 19:25
Die einzige Variante, die ich kenne kenne, ist round-precision=-1
Damit wird aber auf die ganze Zahl abgerundet. Für Nachkommastellen ist mir nichts dergleichen bekannt. Vielleicht weiß da noch jemand mehr?!

thomsen
06-02-2014, 11:14
Vielen Dank für deine Antwort.
Leider tritt bei mir mit der Option round-precision=-1 immer ein Problem auf.
Verwende ich diese Option, dann werden bei Werten welche eine 0 als Nachkommastelle haben, immer die Kommas angezeigt.
Ich habe dazu im obrigen Beispiel eine 4. Tabellenzeile hinzugefügt.
Ersetze ich nun für Spalte 1 die Option mit round-precision=-1, so erhalte ich folgende 4. Tabellenzeile:

23, 120,00

Kann man die Anzeige dieses Kommas hinter der 23 vermeiden? Vielleicht kennt ja auch noch wer eine Möglichkeit für das Abrunden der Nachkommastellen.

Vielen Dank für eure Hilfe.
Thomsen

u_fischer
06-02-2014, 11:34
Mache doch einen Featurerequest, z.B. für round-half=down oder irgendwas ähnliches. Joseph ist eigentlich immer hilfreich.

thomsen
13-02-2014, 07:43
Danke für den Hinweis.
Ich habe Joseph eine Nachricht geschrieben. Mal sehen ob er eine Lösungsmöglichkeit hat.
Wenn ich etwas von ihm höre gebe ich hier Bescheid.
Sollte noch wer eine andere Idee haben, würde ich mich natürlich sehr darüber freuen.

Vielen Dank,
Thomsen