rais hat geschrieben:Eine Länge wird intern als Integer in `scaled point' (65536 sp = 1 pt) behandelt, deshalb ist das Ergebnis hier zufällig richtig:
3.34 pt * 65536 sp/pt -> 218890 sp
und 218890 ist nicht kleiner als 1 -- also ja, Du müsstest eigentlich zwei Längen miteinander vergleichen, dafür gibt es \ifdim.
Danke für die Erklärung, jetzt weiß ich, wieso manchmal wenn ich eine Länge definierte und mittels \ifnum verglich etwas falsches rauskam.
Verwende jetzt stattdessen \ifdim und es funktioniert
\documentclass{scrartcl}
\begin{document}
\ifdim 3.223423pt<4pt True \else Falsch \fi
% Oder mit eigener Länge:
\newlength{\mylength}
\setlength{\mylength}{3.245pt}
\ifdim \mylength<4pt True \else Falsch \fi
\end{document}
rais hat geschrieben:Wie hättest Du plattformübergreifend gleiche Resultate garantiert?
Vermutlich gar nicht (vielleicht gegen Geld

).
Wenn du Dezimalzahlen vergleichen willst, nimm z.B. das l3fp-Paket.
Habe mir das Paket angeschaut und es funktioniert ziemlich gut, allerdings würde ich dann (mal wieder) LaTeX-Code und LaTeX3-Code vermischen.
Ich werde das Paket verwenden, wenn ich irgendwann vielleicht möglicherweise mein Paket auf LaTeX3-Code anpassen werde, bis dahin verwende ich \ifdim.
Grüße
Epllus