MC3330
30-12-2019, 10:20
Hallo,
ich bin mal wieder auf ein Problem gestoßen.
Ich berechne in Ticks verschiedene Zahlen um Bilder zu zeichnen. Leider kommen teilweise Ergebnisse raus, die nicht der Alltagsmathematik entsprechen. Ich hatte das schon bei verschiedenen anderen Sprachen und vermute es hat irgendwas mit Gleitkommaarithmetik zu tun, die ich bisher nicht so wirklich verstehe.
In meinem Minimalbeispiel führe ich folgenden Rechnungen durch.
\ten = 10/10*100
\five = 10/20*100
\step = 10/100*100
Ich hätte als Ergebnisse gerne \ten = 100, \five=50 und \step = 10.
In meinem MB erhalte ich jedoch \step=9,99908
Kennt jemand eine Möglichkeit, dass "normale" Arithmetik angewendet wird?
Viele Grüße
Minimalbeispiel:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{math}
\newcommand{\zahlenstrahl}{
\tikzmath{
\ten = 10/10*100;
\five = 10/20*100;
\step = 10/100*100;
}%\
\node at (0,0) {\ten};
\node at (0,1) {\five};
\node at (0,2) {\step};
}%\
\begin{document}
\begin{tikzpicture}
\zahlenstrahl
\end{tikzpicture}
\end{document}
ich bin mal wieder auf ein Problem gestoßen.
Ich berechne in Ticks verschiedene Zahlen um Bilder zu zeichnen. Leider kommen teilweise Ergebnisse raus, die nicht der Alltagsmathematik entsprechen. Ich hatte das schon bei verschiedenen anderen Sprachen und vermute es hat irgendwas mit Gleitkommaarithmetik zu tun, die ich bisher nicht so wirklich verstehe.
In meinem Minimalbeispiel führe ich folgenden Rechnungen durch.
\ten = 10/10*100
\five = 10/20*100
\step = 10/100*100
Ich hätte als Ergebnisse gerne \ten = 100, \five=50 und \step = 10.
In meinem MB erhalte ich jedoch \step=9,99908
Kennt jemand eine Möglichkeit, dass "normale" Arithmetik angewendet wird?
Viele Grüße
Minimalbeispiel:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{math}
\newcommand{\zahlenstrahl}{
\tikzmath{
\ten = 10/10*100;
\five = 10/20*100;
\step = 10/100*100;
}%\
\node at (0,0) {\ten};
\node at (0,1) {\five};
\node at (0,2) {\step};
}%\
\begin{document}
\begin{tikzpicture}
\zahlenstrahl
\end{tikzpicture}
\end{document}