PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String -> Decimal



WiKainZwaida
20-12-2009, 14:48
Einen schönen Advent allen!

Kurze Frage: Wie verwandel ich einen String in eine Dezimalzahl? Zunächst wird eine mit \newcommand erstellte Variable (in diesem Fall \x) wie ein String behandelt. Wende ich jedoch die Befehle aus dem xstring-Paket auf sie an, wird aus ihr logischerweise ein String. Wie verwandel ich \x zurück in eine Dezimalzahl?

Vielen Dank im Voraus!


\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage{xstring}

\begin{document}

\newcommand{\x}{153}

\x:~
\IfDecimal{\x}{Dezimalzahl}{keine Dezimalzahl}


\renewcommand{\x}{\noexpandarg \StrLeft{1533}{3}}

\x:~
\IfDecimal{\x}{Dezimalzahl}{keine Dezimalzahl}

\end{document}}

Myri
20-12-2009, 22:14
Damit hätte ich mich wohl für Deinen Tipp mit den Ecken bei meinem gnuplot-Problem revanchiert ;)

Ehrlich gesagt weiß ich aber nicht, WARUM es funktioniert:


\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage{xstring}

\begin{document}

\newcommand{\x}{153}

\x:~
\IfDecimal{\x}{Dezimalzahl}{keine Dezimalzahl}


\StrLeft{1533}{3}[\x]

\x:~
\IfDecimal{\x}{Dezimalzahl}{keine Dezimalzahl}

\end{document}}

WiKainZwaida
20-12-2009, 23:04
1000 Dank für die Antwort (auch in meinem anderen Thread)!!

Wobei mich ebenfalls brennend interessieren würde, wieso es auf diese Weise funktioniert...