PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Runden von \pgfmathresult



tomato
20-12-2010, 20:06
Hallo,

gibt es eine Moeglichkeit \pgfmathresult zu runden oder den Nachkommaanteil zu verwerfen? Vielleicht gibt es auch eine bessere Methode die Brechnung durchzufuehren ...

Minimal Beispiel:


\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \x in {5,10,...,35}
\draw (-0.2 cm,\x mm) -- (6 cm,\x mm)
node at (-0.65 cm,\x mm) {\pgfmathparse{4*\x}\pgfmathresult};
\end{tikzpicture}
\end{document}


Vielen Dank im Voraus! Ich freue mich ueber jede Idee.
tomato

bobmalaria
20-12-2010, 20:57
hi,

du kannst nur den integer teil ausgeben wenn du willst.


\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \x in {5,10,...,35}
\draw (-0.2 cm,\x mm) -- (6 cm,\x mm)
node at (-0.65 cm,\x mm) {\pgfmathparse{int(4*\x)}\pgfmathresult};
\end{tikzpicture}
\end{document}

das sollte in deinem fall genuegen.

gruss

BeniBela
20-12-2010, 21:09
Oder so:



\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \x in {5,10,...,35}
\draw (-0.2 cm,\x mm) -- (6 cm,\x mm)
node at (-0.65 cm,\x mm) {\pgfmathtruncatemacro\r{4*\x} \r};
\end{tikzpicture}
\end{document}

tomato
21-12-2010, 10:11
Hallo,

danke euch beiden.

Truncate funktioniert. Jedoch ``int'' mag mein Compiler nicht.

Fehlermeldung:


! Package PGF Math Error: Unknown function `int'.


Eigentlich bin ich mit der Truncate-Loesung schon voll zufrieden, ich probiere aber noch zu verstehen, was das Problem bei ``int'' ist. Wird das erst ab einer bestimmten TikZ/PGF Version unterstuetzt? (Ich seh' gerade nicht, wie ich herausfinde, welche Version ich verwende. Der letzte Eintrag im ChangeLog wurde am 2008-02-14 geschrieben; das beiliegende TikZ/PGF-Manual traegt Versions-Nummer 2.0.)



tomato

bobmalaria
21-12-2010, 11:05
hi,

ja das wird wohl an der version liegen. ich habe das natürlich vorher ausprobiert. eventuell kann ja ein paket update helfen.

gruss

borose
21-12-2010, 11:28
Zum Ausgeben des Zahlenwertes kannst du das Makro \pgfmathprintnumber verwenden. Damit hast du sofort eine sehr flexible Formatierung bei der Hand:


\documentclass{article}
\usepackage{tikz}

\pgfkeys{/pgf/number format/.cd,fixed,precision=2}
%\pgfkeys{/pgf/number format/.cd,fixed zerofill,precision=2} %mit Nullen auffüllen

\begin{document}
\begin{tikzpicture}
\foreach \x in {5,10,...,35}
\draw (-0.2 cm,\x mm) -- (6 cm,\x mm)
node at (-0.65 cm,\x mm) {\pgfmathparse{4*\x}\pgfmathprintnumber{\pgfmathre sult}};
\end{tikzpicture}
\end{document}

tomato
22-12-2010, 12:38
@borose: Wow! In meinem Fall zwar ein leichter Overhead --- allgemein aber richtig cool.

Vielen Dank an alle, die sich an der Diskussion beteiligt haben!

tomato